我使用Nginx作为我的Sails.js后端应用程序的反向代理,但似乎在成功验证后会话cookie没有存储在浏览器中。
我的前端是一个使用socket.io连接的angular2应用程序。
我的Nginx配置是:
location ~ /api/(?<section>.+) {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:1338/$section;
proxy_pass_header Set-Cookie;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
我使用此配置使用socket.io进行连接:
let opts = {
url: "http://127.0.0.1:8090",
transports: ['polling', 'websocket'],
path: 'api/socket.io'
}
this.connect("http://127.0.0.1:8090", opts);
我是否不使用nginx反向代理正在设置cookie。我错过了什么?