网站启用htpps

2019-09-17 17:11:43  卢浮宫  阅读量:215  版权声明:本文为站长原创文章,转载请写明出处


一、前言

    一直以来都说为网站启用https,但由于各种原因没有执行。最近做微信小程序,需要网站启用https,这里做简要记录。

二、证书申请并下载(腾讯云为例)

    1、登录腾讯云进入域名证书申请

        

    2、颁发后下载证书

        

    3、证书适用于Apache、IIS、Nginx、Tomcat。(这里以tomcat为例)

        找到jks证书文件,放到classPathxia

    4、在Application.properties中配置如下

        

    5、这时启动项目就可以使用https进行访问了。

三、http跳转

    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;
}
}

四、这时无论你通过http还是https都可以进行访问了。[污]

最新评论:
推荐开启HSTS 2019-09-17 19:22:23