nginx 反向代理后session失效

今天遇到一个问题:

nginx反向代理tomcat

locattion / {

            proxy_pass   http://192.168.1.12:11080/iloadsdev-web/;

            proxy_set_header   Host    $host;

            proxy_set_header   Remote_Addr    $remote_addr;

            proxy_set_header   X-Real-IP    $remote_addr;

            proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

}

这时候我们访问页面其实都是到tomcat,我们通过浏览器查看seesion,发现只要刷新一下页面seesion就会变,解决办法如下:

location / {

            proxy_pass   http://192.168.1.12:11080/iloadsdev-web/;

            proxy_cookie_path /iloadsdev-web/ /;     #加个反向代理cookie路径设置

            proxy_set_header   Host    $host;

            proxy_set_header   Remote_Addr    $remote_addr;

            proxy_set_header   X-Real-IP    $remote_addr;

            proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

还有一种解决办法就是proxy_pass   http://192.168.1.12:11080/iloadsdev-web; 把/iloadsdev-web/ 最后个‘/‘ 去掉,但是这样做不好,会影响访问

真不行就到tomcat下增加如下:

apache-tomcat/config/server.xml

......

<Host name="openplat.wangdaizhijia.com" appBase=""
                unpackWARs="true" autoDeploy="true"
                xmlValidation="false" xmlNamespaceAware="false">
                <Context path="" docBase="/wdzj/java/tomcat/apache-tomcatioadsdev-web/ioadsdev-web" debug="0"/>
          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="openplat_access_log." suffix=".txt"
               pattern="%{X-Real_IP}i %D %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i" resolveHosts="false" />
      </Host>
......

时间: 2024-10-15 14:44:58

nginx 反向代理后session失效的相关文章

.Net Core/Framework之Nginx反向代理后获取客户端IP等数据探索

原文:.Net Core/Framework之Nginx反向代理后获取客户端IP等数据探索 公司项目最近出现获取访问域名.端口.IP错误现象,通过排查发现, 之前项目一直通过Nginx自定义Headers信息来获取,但最近运维人员失误操作造成自定义Header信息丢失,造成项目拿不到对应的数据.思前想后,想找找官方有没有关于此类问题通用标准化的解决方案. 一.Nginx配置如下: proxy_redirect off; proxy_set_header Host $host; proxy_set

关于nginx反向代理后获取不到客户端的ip地址问题

通过查资料后,再去看了看我的配置文件,结果发现我没有如下配置: nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $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; loca

Nginx反向代理后配置404页面

关键词:proxy_intercept_errors.fastcgi_intercept_errors   在网上搜索404配置,有很多配置文章,但都是关于fastcgi_intercept_errors的,不过对我们的项目不起作用.我们的项目使用nginx做反向代理,通过域名区分不同的网站,配置fastcgi_intercept_errors不生效,需要配置proxy_intercept_errors.以下罗列出两种配置方式,供大家参考.   1.fastcgi_intercept_error

nexus 绑定负载均衡nginx反向代理后 遇到的https问题。

1.今天搭建maven私服,下载安装好nexus运行后,通过IP可以直接访问,没有问题,如:http://123.123.123.123:8081 就可以进入主页面.没有任何问题. 2.但是他默认是http协议访问,用他自带原生的方法来搞https又得生成证书 比较麻烦,官方文档也推荐用nginx反向代理服务器来搞https.如下: https://help.sonatype.com/repomanager3/security/configuring-ssl 3.我用阿里云生成了一个SSL证书,

nginx反向代理取得IP地址

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_

nginx 反向代理 取得真实IP和域名

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_

nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决

Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意:今天遇到了这样一个问题,tomcat中路径“host/web1”,nginx中直接“host/”代理,这时候session就无法正常进行了. 1 2 3 4 5 6 7 8 9 location / {             proxy_pass   http://192.168.1.12:11080/v1/;                      proxy_set_header   Host    $host;  

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

nginx配置反向代理支持session

Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意:今天遇到了这样一个问题,tomcat中路径"host/web1",nginx中直接"host/"代理,这时候session就无法正常进行了. 问题描述: 登录后. 跳转http://127.0.0.1:8080/api/index.do 可以正常访问 nginx 反向代理 proxy_pass  http://192.168.1.12:8080/api/ 登录之后跳转   http://api.