0
처음으로 nginx를 설정하려고합니다. 다음 문제는 해결하고 싶습니다.쿠키가있는 라우팅 된 트래픽 Nginx
두 버전의 백엔드 v1 및 v2가 있습니다. 동일한 서버 '127.0.0.1:3000로 라우팅 할 수있다
교통 트루 "/"(자바 스크립트 + 소켓)
사용자 "/ V2"('127.0.0.1:3000 'proxy_pass)로 라우팅 ; ' 쿠키를보고.
는 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;
}
}
아, 감사합니다 ...하지만 난 이해가 안되는 어떤 이유로 쿠키를 저장합니다. 어떤 아이디어? – Karl
이 쿠키 양식 서버를 받으십니까? 브라우저의 개발 도구로 확인하십시오. 아마도 localhost 도메인 때문에 localhost.com 같은 것을 시도해보십시오. (hosts 파일을 편집하십시오) –
감사합니다! – Karl