Всем доброго дня. Было задумка добавить авторизацию на все *.php файлы в админской части сайта. Старый конфиг
location = /admin/auth {
userid off;
include /etc/nginx/fastcgi.conf;
fastcgi_pass php-fpm;
fastcgi_pass_request_body off;
fastcgi_pass SCRIPT_FILENAME ******.php;
}
location /admin/ {
..........
location ~ \.php$ {
try_files $uri =404;
auth_request /admin/auth;
auth_request_set $saved_set_cookie $upstream_http_set_cookie;
.........
}
}
Это работает, но как только пытаешься отправить форму с загружеными файлами (файлов может и не быть, главное чтобы у формы стоял атрибут entype="multipart/form-data") - стабильно 405. И проблема именно а авторизации.
На скорую руку залатал следующим конфигом
location = /admin/auth { #авторизация
internal;
set $target http://$server_name/***.php;
proxy_method GET;
proxy_http_version 1.1;
proxy_pass_request_body off;
proxy_set_header Host $host;
proxy_set_header Content-Length "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Original-URI $request_uri;
proxy_pass $target;
}
location = /***.php {
userid off;
include /etc/nginx/fastcgi.conf;
fastcgi_pass php-fpm;
fastcgi_pass_request_body off;
}
Но хочется избавится от этого костыля. Заранее благодарен