如何将Jasig的CAS配置为仅在HTTPS端口上监听(8443)?
我们将应用程序分为两部分,门户网站和SSO权限(JASIG CAS)。两者都在JBoss AS7和不同的机器上运行。 Portal和SSO权限配置为通过
从HTTP(8080)端口重定向到HTTPS(8443)端口<subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host">
<connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http" redirect-port="8443"/>
<connector name="https" protocol="HTTP/1.1" socket-binding="https" scheme="https" secure="true">
<ssl name="https" password="pass" certificate-key-file="/path_to_keystore.jks"/>
</connector>
<virtual-server name="default-host">
<alias name="myapp.domain.com"/>
</virtual-server>
</subsystem>
...
<socket-binding name="http" port="8080" fixed-port="true" interface="public"/>
<socket-binding name="https" port="8443" fixed-port="true" interface="public"/>
端口重定向在门户网站部件上运行良好,但CAS忽略重定向并在http(8080)处工作(显示有关非安全访问的信息)。
答案 0 :(得分:2)
要获得正确的Java Web应用程序,必须使用SSL配置,以便在web.xml
文件中保护应用程序的某些部分。然后重定向工作完美无缺。
<security-constraint>
<web-resource-collection>
<web-resource-name>sso secured pages</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>