如何将 nginx 设置为 openvpn 客户端的反向代理?(nginx 499 超时错误)

如何将 nginx 设置为 openvpn 客户端的反向代理?(nginx 499 超时错误)

我的网络架构是:

       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.comsrv targetshell 来看是可以的。

curl http://pub.example.comsrv pubshell 没问题(添加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.logsrv_pub显示"GET / HTTP/1.1" 499 0 "-" "curl/7.68.0"

ufwsrv_pub禁用。

cat /proc/sys/net/ipv4/ip_forward节目1

还有什么问题?我该如何调试它?

相关内容