Я попробовал решение, которое перенаправляет 405-200, а в производственной среде (в моем случае это балансировка загрузки Google с контейнером Dginx Nginx), этот хак вызывает примерно 502 ошибки (код ошибки балансировки загрузки Google: backend_early_response_with_non_error_status).
В конце концов, я сделал это правильно, заменив Nginx на OpenResty, который полностью совместим с Nginx и имеет больше плагинов.
С помощью ngx_coolkit Теперь Nginx (OpenResty) может корректно обслуживать статические файлы с запросом POST, вот конфигурационный файл в моем случае:
server {
listen 80;
location / {
override_method GET;
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 8080;
location / {
root /var/www/web-static;
index index.html;
add_header Cache-Control no-cache;
}
}
В приведенной выше конфигурации я использую override_method
, предлагаемый ngx_coolkit , чтобы переопределить HTTP-метод на GET
.