为啥的的CAS服务器用HTTP能访问用HTTPS就访问不了呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥的的CAS服务器用HTTP能访问用HTTPS就访问不了呢?相关的知识,希望对你有一定的参考价值。

 <Connector port="8443" maxHttpHeaderSize="8192"     keystorePass="password" keystoreFile="F:/server.keystore"    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"    enableLookups="false" disableUploadTimeout="true"    acceptCount="100" scheme="https" secure="true"    clientAuth="false" sslProtocol="TLS" />着SERVER。XML配置文件,CA证书也做了的。求高手帮忙

参考技术A 你应该把你https访问时候报的错贴出来。另外,你的keystoreFile的位置,建议放到配置文件同一目录下,写绝对路径能不能加载上,我不确定。另外就是要确定你在客户端导入的证书是否正确,是否导入到了使用的JVM下。有些机器上存在很多JVM的,导错位置很常见。还有,看一下你的客户端的配置文件,是否访问的https协议和8443端口。

springboot--http跳转https

SSL是为网络通信提供安全以及保证数据完整性的的一种安全协议,SSL在网络传输层对网络连接进行加密。

例:cas 的单点登陆就用到了SSL

一、安全证书的生成

1、可以使用jdk自带的证书生成工具,jdk自带一个叫keytool的证书管理工具,可以用它来实现签名的证书。

2、先配置好基本的java环境,ctrl+r 输入cmd ,进入java 的目录

3、例:生成一个别名叫tomcat 的证书   先使用命令进入jdk的bin   这里的密码是123456

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

技术分享图片

4、获取一个tomcat.keystore的文件,将这个文件放到项目的目录中

技术分享图片

二、配置SSL

1、编辑application.properties这个文件

技术分享图片
package com.example;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringBootHttpsApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootHttpsApplication.class, args);
    }
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector监听的http的端口号
        connector.setPort(8080);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(8443);
        return connector;
    }

}
技术分享图片

三、测试使用

1、查看启动信息

技术分享图片

2、访问地址localhost:8080/AmazeUI-2.7.2/login.html 我自定义了一个html网页,它已经转向到了8443端口

技术分享图片

3、浏览器的地址栏中显示不安全:因为这个证书是不收信任的,传统一般都企业都是需要购买此证书的

以上是关于为啥的的CAS服务器用HTTP能访问用HTTPS就访问不了呢?的主要内容,如果未能解决你的问题,请参考以下文章

禁用443端口还能访问https吗?如果不能那为啥还要禁用

centos下,nginx服务器,我用https访问php页面为啥总提示下载。http可以访问php页面

CAS单点登录的配置

为啥服务器用不了httpclient

SSO-CAS实现单点登录服务端

今天装了一个apmserv5.2.6。配置了虚拟主机~hosts映射了域名,能PING到IP。但是浏览器用域名访问不了,求解