折雨的天空
cas服务器报错:CAS error: 票根'ST-36-DvwsgyEPzwx16S1CmDHj1NJRX-Uecs-4806-0319730'不符合目标服务
2020-4-22 我好笨


之前CAS一直使用单机跑,接入应用也使用单机,没有什么问题。



但是,应用通过nginx代理后,就出现问题了,代理的端口访问,cas获取的是实际服务器的端口,就会造成票根不识别,错误如下:



Authentication failure: Ticket not validated
Reason: [INVALID_SERVICE] CAS error: 票根'ST-36-DvwsgyEPzwx16S1CmDHj1NJRX-Uecs-4806-0319730'不符合目标服务
CAS response: <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationFailure code="INVALID_SERVICE">票根'ST-36-DvwsgyEPzwx16S1CmDHj1NJRX-Uecs-4806-0319730'不符合目标服务</cas:authenticationFailure>
</cas:serviceResponse>



问题在于nginx的代码配置问题,正确配置信息如下:








[#zeyu#]



proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-FORWARDED-HOST $server_addr;
proxy_set_header X-FORWARDED-PORT $server_port;
proxy_redirect false;



主要生效的代码是:
X-FORWARDED-HOST、X-FORWARDED-PORT 这一段



[/#zeyu#]




找了很久,谷歌百度都用了,搜关键词cas proxy nginx,可以搜到一些解决方案,但是均无法解决。最后是逐步尝试的,主要可能还是不精通nginx。





发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容