CAS报错解决方案

编辑
  • 文档创建者:文档助手1
  • 浏览次数:4173次
  • 编辑次数:9次
  • 最近更新:Kevin-s 于 2019-06-09
  • 1. 报错一

    1.1 报错信息

    javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching xxx.xxx.xx found

    1.2 解决方案

    检查 web.xml 中的配置

    <init-param>
    <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
    <param-value>https://susie:8443/cas/login</param-value>
    <!--这里的server是服务端的IP-->
    </init-param>
    <init-param>
    <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
    <param-value>https://susie:8443/cas/proxyValidate</param-value>
    <!--这里的ServerName是服务端的主机名也就是CN-->
    </init-param>

    确保其中的 susie 跟生成证书时第一个问填写的域名是一致的即可。如下图:

    2. 报错二

    2.1 报错信息

    在导入/导出证书的时候,有 keytool 报错,报错信息如下:

    java.io.IOException: Keystore was tampered with, or password was incorrect

    2.2 解决方案

    密码默认的就是changeit,那么 -storepass 123456 后面的密码修改为 changeit 即可。

    3. 报错三

    3.1 报错信息

    配置完成登录后报错500-Internal Server Error

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    HTTP Status 500 – Internal Server Error

    3.2 解决方案

    这是因为 Java 并没有成功把我们创建的证书添加到受信库中,重新进行一遍受信操作,或者直接把 JRE 中的受信库文件直接替换成我们的前面创建的 cacerts 文件。

    首先看 Tomcat 用的是哪里的 JRE:


    由上看出,这里 Tomcat 用的 JRE 是%JAVA_HOME%\jdk目录下,把证书挪到%JAVA_HOME%\jdk\jre\lib\security下面即可。

    4. 报错四

    4.1 报错信息

    多台服务器做 CAS 及集群。集群正常,单点正常,但是登录后内存管理界面的图表为空。

    若移除单点登录配置文件,直接登录,内存管理界面图表则显示正常。

    4.2 解决方案

    需要配置 CAS 登出。

    若不配置 CAS 登出,新用户虽然登录,但是 Session 里的 Token 还是之前的用户,和 Cookie 中现有用户的 Token 冲突。

    Token 冲突了,WebSocket 连接在连接验证时被断开,内存管理界面的图表自然为空。


    附件列表


    主题: 部署集成
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]