网站启用htpps

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


一、前言

    一直以来都说为网站启用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都可以进行访问了。[污]




更多精彩请关注guangmuhua.com


最新评论:

推荐开启HSTS
2019-09-17 11:22:23
1楼