Параметры запроса Nginx все еще отправляются на proxy_pass - как их удалить?
У меня есть этот nginx conf на моем сервере -
server {
listen *:80;
server_name kibana_proxy;
location = /auth {
internal;
set $query '';
if ($request_uri ~* "[^\?]+\?(.*)$") {
set $query $1;
}
# add_header X-debug-message "Parameters being passed $is_args$args" always;
proxy_pass http://127.0.0.1:8080/login/internal?$query;
}
location / {
proxy_pass http://127.0.0.1:5601/;
proxy_http_version 1.1;
auth_request /auth;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Таким образом, после того, как /auth ответит http-статусом 200, параметры запроса добавляются к proxy_pass, что приводит к ошибке http-статуса 400, и я не вижу защищенное веб-приложение (в данном случае Kibana).
Я пытался использовать proxy_set_header X-Original-URI $request_uri;
и добавление / аутентификация URL с $is_args$args
в каталоге /auth, но параметры запроса не передаются в /auth API, поэтому это регулярное выражение сопоставляет и создает строку запроса ($query).
Как убедиться, что в URL-адресе proxy_pass (kibana) нет параметров запроса?