记录一下今天下午纠结的问题。
1、先描述一下问题,
index.jhtml请求后面的请求全部返回403
刷新一下又都正常了
2、项目背景
本地前端代码,使用apache代理线上的后台环境。代理如下:
ProxyPass /isearch http://xxx/isearch
ProxyPassReverse /isearch http://xxx/isearch
index.jhtm请求返回
index.jhtm请求返回了会话信息,其它请求必须在index.jhtm请求成功后发出。
3、403原因
index.jhtm请求的url是http://xxx/isearch/manager/individual/index.jhtml
其它请求url是http://127.0.0.1/isearch/manager/site/list.jhtml
(因为设置了apache代理,所以是127.0.0.1)
4、解释
后台接收到http://127.0.0.1/isearch/manager/individual/index.jhtml请求后,重定向到http://xxx/isearch/manager/individual/index.jhtml了
可以看到Response Headers的Server是nginx/1.12.0
Server:nginx/1.12.0
(后台使用了nginx代理)
由于没有请求http://127.0.0.1/isearch/manager/individual/index.jhtml,会话链接失败,所以后面的http://127.0.0.1/##/##.jhtml都返回403
所以只需发送一下http://127.0.0.1/isearch/manager/individual/index.jhtml请求,再http://127.0.0.1/##/##.jhtml就都正常了
当然了,上面的解释都是后端大神给出来的。本文仅仅是作为自己codeing的记录,可能不会对大家有任何帮助了。