Совместное использование данных аутентификации между серверами в nginx

netstat -i покажет в и пакеты для каждого логического интерфейса

и netstat -i 1 например, даст Вам очень сырое измерение скорости.

3
задан 3 December 2013 в 20:36
1 ответ

Проблема с аутентификацией исходит не от Nginx, а от ваших браузеров. Веб-браузеры различают домен аутентификации, используя весь кортеж "[scheme]: // [domain]: [port]", поэтому не имеет значения, используют ли ваши серверы один и тот же бэкэнд аутентификации, потому что ваш браузер будет запрашивать и хранить отдельно учетные данные для каждого домен.

Единственная альтернатива, которую я могу придумать, - это проксировать оба сервера приложений за одним и тем же серверным блоком Nginx и различать ваши запросы по пути URL, например:

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;
  }

}
1
ответ дан 3 December 2019 в 07:30

Теги

Похожие вопросы