Я использую nginx для перенаправления моего кода API и apache guacamole. У меня проблема в том, что мне нужно использовать многопользовательское соединение, но если я вошел в систему в Auser и пытаюсь подключиться к Buser (тот же браузер), он пытается повторно подключиться к Auser, даже если URL-адрес полностью отличается:
Пользователь:
https://myapp/#/client/MjIyAGMAcG9zdGdyZXNxbA==/?username=Auser&password=vDeMsKqCG5F
Buser:
https://myapp/#/client/NTQxAGMAcG9zdGdyZXNxbA==/?username=Buser&password=0aiOMa4o08pb
nginx conf:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
fastcgi_read_timeout 600;
proxy_read_timeout 600;
keepalive_timeout 600;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile off;
#tcp_nopush on;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
nginx / mysite.template:
server {
listen 80;
server_name localhost;
server_name reverse.proxy
server_tokens off;
location / {
proxy_pass http://guacamole:8080/guacamole/;
proxy_buffering off;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_set_header Cookie "";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_cookie_path /guacamole/ /;
access_log on;
client_max_body_size 4096m;
}
location /api {
proxy_pass http://api:5001/;
rewrite /api/(.*) /$1 break;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_set_header Cookie "";
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log on;
client_max_body_size 4096m;
}
}
Пытался удалить файлы cookie:
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_set_header Cookie "";
но результат тот же. как я могу заставить ngnix предоставлять сеанс uniq для каждого запроса? чтобы игнорировать пользователя, который уже подключен. возможно, это проблема Chrome Broser для хранения данных сеанса, но могут ли здесь помочь настройки nginx?