前后端分离架构,有单点登录功能,niginx做代理,后端能直接设置cookie吗?

来源:8-1 create-api 原理介绍

他门说这就是人生

2020-03-02

如题,我以前喜欢把前后端分离项目揉在一块儿,一个web服务器就可以部署了,这样后端获取到单点登录授权服务器的token,能直接设置token到浏览器保存。听了老师的课,发现前后端分离是用niginx做的代理,如果用niginx代理,我就担心不能这样做了,因为后端直接设置cookie,而前端是另一个服务器,想问问niginx代理前后端的方式。是不是只能后端获取到token,然后返回给前端,前端再来设置自己的token? 是不是不能想我以前那样做了。


ps:

老师,我用nginx做反向代理,VUE项目一直报错: webdocket 400错误。

http://img.mukewang.com/szimg/5e5c99e8092ff86f12220579.jpg

不做代理,直接访问是正常的,网上的解决方案都试了,不管用啊。

这是我的nginx配置:

#user  nobody;
worker_processes  2;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }

    server {
        listen 80;
        server_name localhost;
        charset utf-8;
        location / {
              proxy_pass http://localhost:8080;
              proxy_set_header Host $host;
              proxy_http_version 1.1;
              proxy_set_header X-Client-IP $remote_addr;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_connect_timeout 60;
              proxy_read_timeout 600;
        }

        location /api {
              proxy_pass http://localhost:8008;
              proxy_set_header Host $host;
              proxy_http_version 1.1;
              proxy_set_header X-Client-IP $remote_addr;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_connect_timeout 60;
              proxy_read_timeout 600;
              #proxy_cookie_path / /api;
        }
    }

}


写回答

1回答

他门说这就是人生

提问者

2020-03-02

老师,我发现我所设想的问题不存在,nginx反向代理后,后端仍然可以设置cookie到前端,并共享

0
5
他门说这就是人生
回复
ustbhuangyi
谢谢老师的解答,没想到重启一下就好了。
2020-03-02
共5条回复

Vue.js2.5+cube-ui重构饿了么App(经典再升级)

掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp

9868 学习 · 4162 问题

查看课程