Spring Boot同时开启HTTP和HTTPS服务
2017-08-30 18:36
190 查看
由于Spring Boot中通过编码开启HTTPS服务比较复杂,所以官方推荐通过编码开启HTTP服务,而通过配置开启HTTPS服务。
Spring Boot的application.yml中添加如下配置,开启HTTPS服务
其中的jks证书文件可以利用JDK工具keytool.exe(JDK bin目录下)生成:
验证上一步生成的证书:
导出公钥证书(可选):
客户操作系统上配置该公钥证书为可信证书后,可消除浏览器由于无法验证私自颁发的证书真实性而产生的HTTPS警告。
Application.java中编写如下代码,开启HTTP服务
Spring Boot的application.yml中添加如下配置,开启HTTPS服务
server: port: 16062 ssl: key-store: classpath:config/test.jks key-store-password: 123456 key-password: 123456
其中的jks证书文件可以利用JDK工具keytool.exe(JDK bin目录下)生成:
keytool -genkeypair -alias test -keyalg RSA -validity 3650 -keystore test.jks
验证上一步生成的证书:
keytool -list -v -keystore test.jks
导出公钥证书(可选):
keytool -export -alias test -keystore test.jks -rfc -file test.cer
客户操作系统上配置该公钥证书为可信证书后,可消除浏览器由于无法验证私自颁发的证书真实性而产生的HTTPS警告。
Application.java中编写如下代码,开启HTTP服务
@SpringBootApplication public class SampleTomcatTwoConnectorsApplication { @Bean public Integer port() { return SocketUtils.findAvailableTcpPort(); } @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); return tomcat; } 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); } }
相关文章推荐
- CentOS 7.4 firewall 开启http/https 服务
- Nginx 配置https 开启ssl 同时支持http
- 后端tomcat不开启https,用nginx反向代理使网站同时支持http和https协议总结
- Https系列之三:让服务器同时支持http、https,基于spring boot
- Https系列之三:让服务器同时支持http、https,基于spring boot
- Https系列之三:让服务器同时支持http、https,基于spring boot
- 配置tomcat同时支持http和https协议
- Nginx同时反向代理http和https
- [net]ftp ssh http telnet https服务及端口
- Spring Boot开启https
- spring boot设置http https端口
- 开启tomcat的https服务
- Python 一条命令 开启 Http 服务
- android 5.0之后原生webview同时用https和http加载HTML不加载图片解决方案
- IOS 9 同时兼容http以及https请求
- 如何把网址配置为http和https可以同时访问
- Nginx环境下http和https可同时访问方法
- SpringBoot开启https以及http重定向
- 让apache服务器可以保证http和https同时访问(解决https可以访问而http不能访问)
- wcf将一个服务同时绑定到http和tcp的写法