0

モバイル サファリ クライアントは、サーバーに対して複数の重複した GET リクエストを実行します。これは、パイプライン処理によるものだと思います。同時/ソケット

エンドポイントはべき等ではないため、リクエストの 1 つが失敗し、クライアントが不安定な動作をするため、これには問題があります。

Nginx で 1 つのエンドポイントのみのキープアライブを無効にしようとしています。何か案は?以下は nginx 404 エラーを示し、ログは nginx がファイルシステムの場所にアクセスしようとしていることを示しています: "/usr/share/nginx/html/duplicateget" with "No such file or directory" for the special endpoint /duplicateget. (私は例としてそれを duplicateget と呼びました)

location / {
    ssi off;
    autoindex off;

    include uwsgi_params;
    uwsgi_param   Host               $host;
    uwsgi_param   X-Real-IP          $remote_addr;
    uwsgi_param   X-Forwarded-For    $proxy_add_x_forwarded_for;
    uwsgi_param   X-Forwarded-Proto  $http_x_forwarded_proto;

    uwsgi_pass cluster;

    location /duplicateget {
        keepalive_timeout 0;
    }
}
4

1 に答える 1

0

残念ながら、これはnginxでは不可能です。これをグローバルに設定すると、重複するリクエストが表示されなくなります。

keepalive_timeout 0;

上流のロード バランサーは SSL ターミネーションなしで haproxy を使用するため、クライアントはこれに対して奇妙な方法で応答している可能性があり、舞台裏での nginx 構成の動作が異常です。

要するに、まだ混乱しています!

于 2014-12-08T22:42:53.347 に答える