【技术】Nginx加Undertow/Tomcat部署中的Proxy设置

最近,JBolt开发平台用户在部署自己项目的时候,使用Nginx做映射,自己去配置的时候,遇到了登录跳转和session cookie失效的问题。

最终原因是Nginx在映射域名和对应的jfianl项目是没有将Proxy设置全。

之前,我录制过一个视频教程,专门讲解JFinal+nginx+undertow去绑定域名,多端口,多项目映射部署。

教程地址:http://www.jfinal.com/share/1625

其中就提到了Nginx映射问题:在这里再贴出来

server {
        listen       80;
        server_name  demo.jbolt.cn;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
		proxy_pass http://127.0.0.1:8082;
		proxy_connect_timeout 300s;
		proxy_send_timeout 900;
		proxy_read_timeout 900;
		proxy_buffer_size 32k;
		proxy_buffers 4 64k;
		#proxy_buffering off;
		proxy_busy_buffers_size 128k;
		proxy_redirect off;
		proxy_hide_header Vary;
		proxy_set_header Accept-Encoding '';
		proxy_set_header Referer $http_referer;
		proxy_set_header Cookie $http_cookie;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
 
       
        }
 
        #error_page  404              /404.html;
 
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
       
    }



其中,这一块儿就是问题所在:

proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


在Nginx映射转发后,cookie session保持住 后端handler去获取真实过来的IP URL 都可以了。

如果各位部署后遇到无法登陆,或者登陆后没法保持cookie session ,或者配置https后 有些资源失效问题,都可以nginx的配置上调整。


如果是https的话,需要设置这个属性:

proxy_set_header X-Forwarded-Proto https;


【资源推荐】


JFinal-JBolt开发平台从入门到精通-系列教程

使用JBolt开发平台快速搞定公众平台管理和二次开发

JFinal新版sql模板有两种Template的调用方式,你学会了吗?


【系统介绍与演示】


JBolt开发平台简介视频

旅游线路营销Saas系统简介视频

JBolt插件-编辑器演示

JBolt1.8发布,支持模板指令Html标签外加Bootstrap代码提示,甚爽!

【视频教程】基于JFinal-undertow的项目打包与部署(linux centos7)



有问题咨询,加我微信:

mumengmeng


image.png


评论区

热门分享

扫码入社