记一次前后端分离项目跨域导致的set-cookie失效问题解决方案

起因公司项目使用了springsecurity的基础登录进行认证授权,而基础登录使用的是session+cookie的形式,项目前后端分离,前端调接口的时候就会出现,登陆后点击其他页面,提示未登录跳转登录页的情况,排查了一下问题发现登陆后请求投提示

又想到项目用了session,应该是跨域,可以改token,但是也有其他的解决方案。

server {
		listen       80;
		server_name  localhost;

		location /dest {
			root   D:/pro/m2023/;
			index  index.html index.htm; 
		}
		
		
		location /api/ {
                                proxy_pass http://localhost:10081/api/;
                                add_header backendIP $upstream_addr;
                                add_header backendCode $upstream_status;
                                proxy_set_header    Host $http_host;
                                proxy_set_header   X-Real-IP $remote_addr;
                                proxy_set_header    REMOTE-HOST $remote_addr;
                                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                                proxy_set_header    X-Forwarded-Host $Server_name;
                                proxy_connect_timeout 30s;
                                proxy_read_timeout 60s;
                                proxy_send_timeout 60s;
                                proxy_buffering off;
                        }
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   html;
		}
	}

前端用nginx用一个代码块分别将前端和后端都代理了一下,后端在服务器上也用nginx代理出来了了,看着挺复杂的,但是最终解决了问题。你有更好的解决方案吗?

你可能感兴趣的:(问通记录,java,运维,linux,nginx,前端)