原创

【Https】如何将网站的http改到https上?

温馨提示:
本文最后更新于 2019年11月26日,已超过 1,816 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Spring Boot配置ssl证书

一,申请有权威的SSL证书

在各大云服务商都可以申请到SSL官方证书。
我这里是在阿里云上申请的,申请后下载,解压。如图:


阿里云上下载下来的就是这两个文件,那怎么去阿里云申请呢?



搜索Symantec,然后单击CA证书服务


购买云盾服务


申请认证,审核


下载证书,就是第一幅图片的内容

接下来需要进行转换

"C:\Program Files\Java\jdk1.8.0_212\bin\keytool.exe" --importkeystore -srckeystore *******.pfx -destkeystore abcdef.jks -srcstoretype PKCS12 -deststoretype JKS

springboot中配置ssl

ssl:
# 证书路径
key-store: classpath:j*******.jks
key-store-type: JKS
key-alias: al*****
# 配置密码,就是在生成证书的时候输入的密码
key-store-password: U*******


还要在启动类配置 

 / **

   * it's for set http url auto change to https
*/
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory tomcat=new TomcatEmbeddedServletContainerFactory(){
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint=new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");//confidential
SecurityCollection collection=new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(httpConnector());
return tomcat;
}

@Bean
public Connector httpConnector(){
Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(8443);
return connector;
}

或者

@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers(
connector -> {
Http11NioProtocol protocol =
(Http11NioProtocol) connector.getProtocolHandler();
protocol.setDisableUploadTimeout(false);
}
);
return factory;
}

你的项目就可以使用https访问啦。

http重定向至https,80端口向443重定向


正文到此结束
本文目录