...
代码块 | ||
---|---|---|
| ||
location /oa/test { proxy_pass http://192.168.1.10:8080/smartbi/vision/ ; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; } |
...
原因分析
登录不成功的原因是cookie_path与地址栏上的path不相符,服务器加载不到地址栏上path对应的cookie因此无法识别session的登录状态,结果就是服务器认为当前session是未登录状态因此停留在登录页或者在页面提示当前会话已经超时。
解决方案
基于问题中的Nginx配置,此Nginx参数配置目前有三个问题:
1、正常配置location的转发路径的时候,location /oa/test/ ,需要不能少一个斜杆:
2、不建议这样去掉vision 2、不建议这样在映射后的路径中去掉vision ,因为这样重定向还会有问题,正常proxy_pass 配置到smartbi级别就行,具体如;
...
3、应用名和转发路径名称不一致的时候,需要配置 proxy_cookie_path,因为当设置不一样域名的时候,因为当设置不一样应用名的时候,浏览器发起的请求cookie会识别path相同的则带上cookie,带了cookie,就不会重新再生成cookie了,若是path不一样,每次产生的cookie标识都是不一样的,这样就每次请求等同于一个新的会话,这样就无法进行下一步操作了。客户端和服务器请求如下图:
...