Nginx 作为反向代理不会发送所有请求

Nginx 作为反向代理不会发送所有请求

在一个研究项目中,我使用 node 创建了一个 web 应用程序。node 服务器托管在一台物理机器上的虚拟机中,这台物理机器与 web 隔离,由另一台机器托管充当反向代理的 Nginx 服务器。我注意到发送到 web 应用程序的一些 POST 请求到达了 Nginx(已记录),但从未到达 node 服务器(服务器没有反应,日志中没有提示express-logger。最令人惊讶的是,相同的请求可以或不能到达第二台机器。这似乎完全是随机的,我的意思是我无法预测请求是否会成功,但如果不成功,我可以再试一次,直到它成功并且它会成功。这是 /etc/nginx/proxy_params :

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Host $http_host;

以下是 sites-available 中的 nginx 文件:

server {
    listen 443 ssl spdy; ## listen for ipv4
    keepalive_timeout 70;

    server_name 10patch.server.com 10patch;
    include error_params;
    location / {
        include proxy_params;
        rewrite ^/(.*)$ /10patch/$1 break;
        proxy_pass http://raid2016.server.com;
        #proxy_redirect off;
    }
}

# Forcer le https
server {
    listen 80;
    server_name 10patch.server.com 10patch;
    return 301 https://$server_name$request_uri;
}

我不知道我是否说清楚了,但是我心里对这个问题不是很清楚,而且用英语解释它也并不会使事情变得更容易。

相关内容