我有一台CAS服务器,大部分仍然是默认的,通过端口:8080运行在http上,通过端口:8008运行https
生产环境是CAS 3.4.11,tomcat 5,并且正在使用maven2部署
当有人登录时,我们尝试将CAS网站导航到类似https://mydomain:8008/cas/services/manage.html
的内容以验证他们的登录信息,然后将其重定向到:
HTTP://mydomain:8008/cas/login
Tomcat配置为仅在端口8008上提供https,导致毫无防备的浏览器通过http接收加密的字节流,并将其作为下载提供给用户。
我是CAS的新手,我知道在配置中的某个地方可以选择在重定向中使用HTTPS而不是http,但我还没有找到它。
当你的回答,请回答,我厌倦了CAS文档网站和博客,说p:client-use-https =“true”作为他们的整个解释。我需要文件,section / subsection,bean和其他相关信息以获得最佳实践。
我也认识到,之前从未使用过的tomcat可以配置为在选择端口上拒绝/重定向http请求到https。我希望能够制定两种解决方案。
答案 0 :(得分:2)
文件tomcat / webapps / cas / WEB-INF / cas.properties有一个server.prefix,如果它由http://提供,将在所有Location:headers的开头强制http。同样,使用https会强制它包含它。
Tomcat具有连接器端口定义:
<!-- Define an AJP 1.3 Connector on port 8080 -->
<Connector port="8080"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
redirectionPort实际上意味着需要HTTPS,在这里发送,我必须更改它以匹配我在8009配置的SSL端口