2019-09-17 09:11:43 卢浮宫 版权声明:本文为站长原创文章,转载请写明出处
一直以来都说为网站启用https,但由于各种原因没有执行。最近做微信小程序,需要网站启用https,这里做简要记录。
1、登录腾讯云进入域名证书申请
2、颁发后下载证书
3、证书适用于Apache、IIS、Nginx、Tomcat。(这里以tomcat为例)
找到jks证书文件,放到classPathxia
4、在Application.properties中配置如下
5、这时启动项目就可以使用https进行访问了。
1、之所以写这些是因为我有注册一些第三方的信息,网址写的是http的。
2、上述配置只能用https访问,http就不行了。
3、我们看到访问http://baidu.com 直接跳转到了https://baidu.com
4、需手动配置http跳转到https
5、配置代码如下:
核心代码段:
@Configuration
public class HttpsConfig {
@Value("${server.port}")
private int httpsPort;
@Value("${http.port}")
private int httpPort;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
return tomcat;
}
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(httpPort);
connector.setSecure(false);
connector.setRedirectPort(httpsPort);
return connector;
}
}