一 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。因为此官方接口不允许小程序前端直接调用,不可配置进可用域名。