关于如何给你的springboot项目配置ssl证书、https访问;

第一步:申请证书

这里以阿里云为例,登录阿里云账户进入SSL证书(应用安全)

image-20201128110310868

根据步骤进行操作;下面是申请下来的证书(注意签发状态:一般5分钟左右就可以签发下来):

image-20201128110905322

点击下载(因为我是springboot项目,所以初步选择了下图的内容)

image-20201128111012749

第二部:部署证书

解压下载下来的文件

image-20201128112103362

将“.jks”部署到resources文件加下面(注意看下图结构)

1606533176(1)

配置“application.properties”文件,代码如下:

server.port=8888
#配置证书
    #这里是配置你刚才部署在resources下的".jks"文件
server.ssl.key-store=classpath:3689441_www.test.com.jks
    #这里是你解压后的"jks-password.txt"文件中的密码
server.ssl.key-store-password=x5sgVap9
server.ssl.key-store-type=JKS

第三步:启动

编写启动类:

  /**
     * http重定向到https
     * @return
     */
    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(org.apache.catalina.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的端口号,也就是项目配置的port
        connector.setRedirectPort(8888);
        return connector;
    }
//这里使用到相关的包,如果报红
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.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.util.unit.DataSize;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;

启动项目

控制台可以看到这个
image-20201128112548080

访问项目:注意是https+“你申请的域名证书上的域名访问”

以前:image-20201128113137121

现在:image-20201128113151536

这里整个http到https就结束了,有什么问题也可以进行留言,关注我,偶尔一个脱发小技巧。想学习更多知识,也可以公众号关注:

qrcode_for_gh_0d7464c09408_258

你的关注是给我最大的支持。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐