请教一下各位,目前的项目部署情况是这样 101服务器做反向代理,同时做负载均衡的配置 84,85,分别部署了两台tomcat服务器 目前反向代理是没有问题了,但配置负载均衡时出现了问题; 应用的背景信息: 由于是在一个二次平台上进行开发,有些底层进行了封装,所以不 绝对清楚 底层的 相关配置 当配置负载均衡后,应用的登陆出现了问题,点击登陆系统则重定向到登陆界面,无法登陆; 配置成单点服务(停掉一个tomcat),应用则正常 应用的登陆采用了spring的安全框架(spring acegi),由于不了解spring acegi 所以不清楚是不是该框架造成的问题 想请教一些有经验的同仁帮忙分析一下,谢谢 nginx.conf文件内容如下 nginx版本为0.8.50
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; proxy_connect_timeout 2s; upstream tomcat_pool { server x.x.x.84:8080; server x.x.x.85:8081; } upstream report_pool { server x.x.x.85:8080; #server 127.0.0.1:8081 down; } server { listen 80; server_name x.x.x.x; #charset koi8-r; #access_log logs/host.access.log main; proxy_buffer_size 16k; proxy_buffers 4 16k; location /xxx/ { proxy_pass http://tomcat_pool/itsm/; 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; } location /xxx2/ { proxy_pass http://report_pool/report/; 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; } } }谢谢
配置文件中的IP不是真实的ip######这是因为你登录使用了session的问题,由于nginx的负载均衡是轮询的方式,不会有 session_sticky 的效果 当用户在tomcat1登录后再访问页面可能是跑到tomcat2,而tomcat2没有这个session信息就认为是没登录 解决的思路: 1. 尝试 nginx 的 session_sticky : http://www.oschina.net/p/nginx_upstream_jvm_route 2. tomcat 配置 session 复制######感谢您的回复,我按照您的解决思路处理一下 谢谢######windows下如何安装 nginx_upstream_jvm_route 谢谢 在网上搜了一圈,无果啊######查了一下资料,不知利用ip_hash能否解决我的问题 从现在起,恶补nginx######
session复制的话,是不是仅需要在tomcat上进行配置,与nginx没有太大关系吧?是的######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。