Nginx如何解决cookie跨域


本文摘自PHP中文网,作者(*-*)浩,侵删。

随着项目模块越来越多,很多模块现在都是独立部署。模块之间的交流有时可能会通过cookie来完成。比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入cookie(记录着用户上下文信息),应用想要获取门户下的cookie,这就产生了cookie跨域的问题。  

解决cookie跨域问题之nginx反向代理

反向代理概念

反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理服务器对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

场景模拟

两个工程web1, web2, 部署在同一台机器上的不同tomcat上,请求web1工程的index.html,如下:

nginx-7.png

然后点击链接请求web2工程的index.jsp, 内容如下:

nginx-8.png

再看一下nginx的配置:

利用nginx的方向代理来解决cookie跨域问题,其实是通过“欺骗”浏览器来实现的,通过nginx,我们可以将不同工程的cookie放到nginx域下,通过nginx反向代理就可以取到不同工程写入的cookie。

阅读剩余部分

相关阅读 >>

如何开启或禁用nginx缓存

nginx属于什么意思

nginx怎样打开目录浏览功能

nginx如何隐藏后缀名php

nginx源码是什么语言

nginx怎么限流

nginx如何设置多端口访问

nginx负载均衡参数有哪些

nginx php-fpm进程 怎么释放

ssl证书加在nginx哪里

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...