Nginx выдает ошибку 405 Not Allowed, если для доступа к файлам используется запрещенный или неподдерживаемый метод. В большинстве случаев это POST, который в Nginx запрещен для доступа к статическим файлам.
Для решения проблемы можно использовать один из двух подходов.
В простейшем случае можно заставить веб-сервер думать, что все хорошо, просто перенаправляя ошибку дальше:
server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 404 /404.html; error_page 403 /403.html; error_page 405 =200 $uri; # ... }
# Передает ошибку 405 как код 200 на нужный адрес
А если Nginx работает как прокси, скажем, для Apache, то можно схитрить так:
error_page 405 =200 @405; location @405 { root /htdocs; proxy_pass http://localhost:8080; }
# Перенаправляет запрос на proxy
Если в Nginx используется модуль FastCGI, то в некоторых случаях веб-сервер может некорректно воспринимать скрипты, которые вызываются методом POST. Для этого запрашиваемый URL разбивается на адрес самого скрипта и запрашиваемых параметров:
location ~.php(.*) { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include /etc/nginx/fastcgi_params; }
#Директива fastcgi_split_path_info определяет формат скрипта и параметры разделения
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…