部署ssl记录

158 阅读2分钟

一 https springboot同时支持

1 购买域名 购买服务器

2 域名备案

3 域名控制台映射到服务器ip

4 域名控制台购买ssl证书,单域名下有免费的

5 springboot容器为tomgcat,下载tomcat的ssl证书

6 解压的文件放入springboot项目根目录(与pom同级),application.properties/yml配置:

#ssl

server.port:https端口

server.ssl.key-store=4证书文件里的证书.pfx

server.ssl.key-store-password=证书文件里的密码

#http端口:

http.port=http端口

https http使用的端口不同

7 添加配置类

@SpringBootApplication

public class SampleTomcatTwoConnectorsApplication {

@Value("${http.port}")
private Integer port;

  /* --------------------请按照自己spring boot版本选择 start--------------------- */      // 这是spring boot 1.5.X以下版本的 添加了这个,下一个就不用添加了

@Bean
public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
    tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
    return tomcat;
}

     // 这是spring boot 2.0.X版本的 添加这个,上一个就不用添加了   @Bean   public ServletWebServerFactory servletContainer() {     TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();     tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http     return tomcat;   }

/* --------------------请按照自己spring boot版本选择 end--------------------- */

  // 配置http private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(port); return connector; }

public static void main(String[] args) throws Exception {
    SpringApplication.run(SampleTomcatTwoConnectorsApplication.class, args);
}

}

springboot 1.5.x与2.0.0版本用的方法不同

参考:spring cloud/spring boot同时支持http和https访问

8 部署linux后,jar包同级也放ssl证书文件

9 启动,可用

二 微信小程序中的接口

微信小程序要求接口为认证的https地址,并对api.weixin等指定地址屏蔽。

1 按上述一发布认证备案的https接口

2 微信小程序页面-开发-开发设置-服务器域名-修改,添加自己的域名。(域名就行,不要带/)

3 确定后即可用

  • 微信号登录功能用到api.weixin官方接口,此接口在开发模拟器测试、真机测试、忽略域名校验时都可使用,但发布上线时要保证此接口由后端调用,微信小程序再调用后端接口获得openid。因为此官方接口不允许小程序前端直接调用,不可配置进可用域名。