IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    80 端口重定向三种解决方案

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    当搭建非 80 端口服务时,是无法直接通过域名访问的。一般我们会通过 Nginx 的反向代理功能实现端口重定向,今天我们聊一下三种重定向解决方案。

    通过 Nginx 等反向代理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #PROXY-START/
    location /
    {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache

    add_header Cache-Control no-cache;
    expires 12h;
    }

    #PROXY-END/

    注意:其它 Web 引擎的反向代理配置,可以参考《常见 Web 引擎的反向代理配置参考》一文。

    通过 CDN 指定源地址

    以阿里云 CDN 为例,演示如何配置实现反向代理:

    通过 IPTABLES 防火墙

    1
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

    注意:如果需本机也可以访问,则需配置 OUTPUT 链,可参考命令 iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080,外网访问需要经过 PREROUTING 链,但是 localhost 不经过该链,因此需要用 OUTPUT。

    通过 firewalld 防火墙

    1
    firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080

    注意:如果需开启 IP 地址伪装,则运行 firewall-cmd --permanent --add-masquerade。



沪ICP备19023445号-2号
友情链接