我已将nginx配置为IP地址为192.1618.1.x的服务器上的反向代理。代理和后端服务器通过Internet通信。如果有人要访问我的网站www.exemple.com,则应将其重定向到代理。 我的网络架构如下
nginx配置`#resolver 176.139.8.11 valid = 10s;
resolver 109.x.x.x valid=10s;
server {
listen 80;
server_name www.example.com;
rewrite ^ https:$host$request_uri? permanent;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
....
....
location / {
proxy_ssl_name $host;
proxy_ssl_server_name on;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 900s;
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_hide_header X-Powered-By;
set $backend www.example.com;
proxy_pass https://$backend;
}
}
` 在路由器1中,我定义了端口转发规则,以将所有传入流量发送到我的代理。 在路由器2中,我定义了后端服务器仅接受来自路由器1的传入流量。 另外,我在代理服务器和后端服务器中都添加了路由规则。
后端服务器:
iptables -A INPUT -p tcp -s 172.x.x.x --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9000 -j ACCEPT
nginx反向代理:
iptables -A INPUT -p tcp -s 109.x.x.x --dport 9000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
问题是我的服务器无法访问,我无法访问它。代理被绕过。