我的网络架构是:
srv_pub (reverse nginx proxy) srv_target
+-----------------+ +---------------------+
Internet | VPS | VPN 10.8.0.0/24 | HOME SERVER |
-----------> eth0: public_ip <------------------> eth0: non_public_ip |
| tun0: 10.8.0.1 | | tun0: 10.8.0.2 |
+-----------------+ +---------------------+
Domains: pub.example.com (A DNS record of pub.example.com points to public_ip)
我srv_target
有包含所需应用程序的 docker 容器,该容器必须在pub.example.com
curl http://pub.example.com
从srv target
shell 来看是可以的。
curl http://pub.example.com
从srv pub
shell 没问题(添加10.8.0.2 pub.example.com
到/etc/hosts
然后检查)
curl http://pub.example.com
从 Internet 上的任何其他 IP 访问都不行,我得到了Operation timed out
。这不是我的提供商的问题,我还使用以下方式检查域可用性请求宾和谷歌,结果相同。
pub.example.com
我的主机的 nginx 配置srv_pub
如下:
upstream app {
server 10.0.8.2;
}
server {
listen 80;
server_name pub.example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://app;
}
}
tailing nginxaccess.log
的srv_pub
显示"GET / HTTP/1.1" 499 0 "-" "curl/7.68.0"
ufw
已srv_pub
禁用。
cat /proc/sys/net/ipv4/ip_forward
节目1
还有什么问题?我该如何调试它?