springboot使用https

wuchangjian2021-11-16 22:27:31编程学习

首先我们要有一个证书,这个可以去阿里云上买,或者买了服务器有免费的证书可以创建,

然后我们就将证书下到本地。根据自己的项目来决定使用什么样的的证书

将证书放到resources目录下。

配置:

server:
  ssl:
    key-store: classpath:6081520_gww123.icu.jks
    key-password: Br755ajy
    key-store-type: jks


store是证书的路径
下面是生成证书时的密码
最下面是证书的格式

这里根据自己的证书的格式去配置它的后缀文件格式

此时只要是证书没有问题的,那么https是可以使用的,并且访问是没有问题,但是,如果想使用http的请求,那么将会访问不到,所以我们需要做一个重定向,将http的端口请求重定向到https上,如,下面htpp的请求端口是8080,当访问这个端口时,我们将它重定向到9292,https的请求端口,当然这个9292就是我们在配置文件里面配置的项目的访问端口。因为使用了证书,就会使用我们的https的证书加密方式来请求。

 @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
        return tomcat;
    }

    private Connector createHTTPConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        //同时启用http(8080)、https(8443)两个端口
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(8080);
        connector.setRedirectPort(9292);
        return connector;
    }

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。