O problema de autenticação não vem do Nginx, mas dos seus navegadores. Os navegadores da Web diferenciam o domínio de autenticação usando a tupla inteira "[scheme]: // [domain]: [port]", portanto, não importa se seus servidores compartilham o mesmo back-end de autenticação porque seu navegador perguntará e armazenará credenciais separadamente para cada domínio.
A única alternativa que posso imaginar é fazer proxy de ambos os servidores de aplicativos atrás do mesmo bloco de servidor Nginx e distinguir suas consultas por caminho de URL, por exemplo:
server {
listen 9200 default_server;
server_name proxy_host;
location /stash9292 {
proxy_pass http://logstash_server:9292;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
location /stash9200 {
proxy_pass http://logstash_server:9200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
location / {
proxy_pass http://logstash_server:9200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}