抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

当搭建非 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

评论