Мобильный клиент Safari выполнит несколько дублирующих запросов GET на наш сервер, я думаю, что это связано с конвейерной обработкой: Safari Sends Two HTTP Req. Same Time/Socket.Nginx не может отключить keepalive для определенного URI
Поскольку наша конечная точка не является идемпотентной, у нас есть проблемы с этим, так как один из запросов потерпит неудачу, и клиент получит неустойчивое поведение.
Я пытаюсь отключить keepalive только для одной конечной точки в Nginx. Есть идеи? Ниже приведена ошибка nginx 404, и журнал показывает, что nginx пытается получить доступ к расположению файловой системы: «/ usr/share/nginx/html/duplicateget» с «Нет такого файла или каталога» для специальной конечной точки/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;
}
}