当搭建非 80 端口服务时,是无法直接通过域名访问的。一般我们会通过 Nginx 的反向代理功能实现端口重定向,今天我们聊一下三种重定向解决方案。
通过 Nginx 等反向代理
1 | #PROXY-START/ |
注意:其它 Web 引擎的反向代理配置,可以参考《常见 Web 引擎的反向代理配置参考》一文。
通过 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
。
条评论