首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NGINX代理不设置会话cookie

NGINX代理不设置会话cookie
EN

Stack Overflow用户
提问于 2020-08-06 23:05:20
回答 2查看 2.3K关注 0票数 0

我有一个Rails应用程序作为API,一个Nuxt.js (Vue.js)应用程序作为前端客户端。

我现在在本地为他们服务。Rails运行在端口3000上,Nuxt.js运行在端口4000

让我的/etc/hosts设置到域名:api.todos.test for Rails和todos.test for Nuxt.js

我的NGINX吐露如下:

代码语言:javascript
代码运行次数:0
运行
复制
upstream rails_api {
  server 127.0.0.1:3000;
}

server {
    listen       80;
    listen       [::]:80;
    server_name  ~^(?<subdomain>.+)\.todos.test;

    location ~ ^/rest/ {
        proxy_pass http://rails_api;
        proxy_set_header Real-IP       $remote_addr;
        proxy_set_header Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header NginX-Proxy   true;
        proxy_set_header Host          $subdomain.todos.test:3000;
        proxy_pass_header Set-Cookie;
        proxy_redirect off;
    }

    location / {
        proxy_pass http://todos.test:4000;
        proxy_set_header Real-IP $remote_addr;
        proxy_set_header Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header NginX-Proxy true;
        proxy_set_header Host        $host;
        proxy_redirect off;
    }
}

我可以同时访问两个服务器,所以NGINX正在处理代理。我的Rails API用Set-Cookie: _session_id=...返回一个响应,但出于某种原因,它从未在Chrome中设置过。

我在NGINX做错什么了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-07 00:45:19

似乎在使用NGINX (或者任何反向代理)时,当从服务器发送它时,必须在cookie中设置domain

票数 2
EN

Stack Overflow用户

发布于 2020-08-06 23:34:00

您是否将XHR请求发送到Rails API?

由于安全原因,浏览器不能访问第三方cookie,比如从ajax请求中接收的cookie。

你可以手动获得/设置曲奇。请把这个问题提出来。How to get a cookie from an AJAX response?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63292942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档