服务器从Nginx接收两次POST请求

时间:2018-01-26 17:39:45

标签: nginx post proxy reverse-proxy

我们有一个nginx服务器充当客户端和服务器之间的反向代理。

每当服务器返回500时,我们实际上看到请求从nginx日志发送到服务器两次:

173.38.209.10 - - [26/Jan/2018:15:15:36 +0000] "POST /api/customer/add HTTP/1.1" 500 115 "http://apiwebsite.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
173.38.209.10 - - [26/Jan/2018:15:15:36 +0000] "POST /api/customer/add HTTP/1.1" 500 157 "http://apiwebsite.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

如果第一个响应是500,则只会调用此API两次。

如果我绕过nginx代理并直接调用服务器,那么它只被调用一次。

更奇怪的是,在进一步测试后我们发现这只发生在我们的公司网络中。如果我使用我的家庭网络连接到代理,那么即使有500响应,也不会重试。

Anway,这是我的nginx配置:

    server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         "http://127.0.0.1:3000";
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }
    location /api/customer/ {
                proxy_pass "http://127.0.0.1:8080/";
        }
}

是否有任何可疑因素导致此行为?

由于

0 个答案:

没有答案