первый раз, когда я пытаюсь установить nginx. У меня есть следующая проблема, которую я бы хотел решить.Маршрутизированный трафик с печеньем Nginx
У меня есть две версии бэкенда v1 и v2.
Пользователь направляется на "/" v2 (proxy_pass '127.0.0.1:3000;')
движения Tru "/" (JavaScript + розетки) имеет быть направлен к тому же серверу «127.0.0.1:3000 ;» посмотрев на печенье.
Heres моя проблема куки не существует, и, следовательно, 404 будут возвращены
Любое предложение?
map $cookie_version $site_version {
default "";
"v1" "version=v1;Domain=localhost;Path=/";
"v2" "version=v2;Domain=localhost;Path=/";
}
server {
listen 8081;
server_name localhost;
location/{
if ($cookie_version ~* "v1") {
proxy_pass http://127.0.0.1:8080;
}
if ($cookie_version ~* "v2") {
proxy_pass http://127.0.0.1:3000;
}
}
location /v1 {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
set $cookie_version "v1";
add_header Set-Cookie $site_version;
rewrite ^/v1(.*) /$1 break;
proxy_pass http://127.0.0.1:8080;
}
location /v2 {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
set $cookie_version "v2";
add_header Set-Cookie $site_version;
rewrite ^/v2(.*) /$1 break;
proxy_pass http://127.0.0.1:3000;
}
}
ах, спасибо ... Но я не сохраняю cookie по какой-то причине, я не понимаю. Есть идеи? – Karl
Получаете ли вы этот сервер формы cookie? Проверьте с помощью инструментов разработчика браузера. Возможно, вам неприятно, потому что домен localhost, попробуйте что-то вроде localhost.com (отредактируйте файл 'hosts' для него) –
Спасибо, что сделал это! – Karl