auth_request + multipart/form-data
Дмитрий Герасимов
nginx-forum на forum.nginx.org
Сб Янв 28 09:02:18 UTC 2017
Всем доброго дня. Было задумка добавить авторизацию на все *.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;
}
Но хочется избавится от этого костыля. Заранее благодарен
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,272171,272171#msg-272171
Подробная информация о списке рассылки nginx-ru