spring boot 配置 https|ssl
来源:互联网 发布:java怎么上传图片 编辑:程序博客网 时间:2024/06/06 11:48
ssl证书我选择了免费的Let’s Encrypt
1.下载脚本并生成证书
# git clone https://github.com/letsencrypt/letsencrypt# cd letsencrypt# ./letsencrypt-auto certonly --standalone --email 邮箱 -d 域名
因为网络问题pip可能需要换源,请自行网上查找换源方法。
2.设置自动延期
# ./letsencrypt-auto --renew certonly --email 邮箱 -d 域名
3.查看证书
# cd /etc/letsencrypt/live/# cd 域名fullchain.pem 为证书 privatkey.pem 为密钥
4.生成.jks证书
# openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat# keytool -importkeystore -deststorepass 'yourJKSpass' -destkeypass 'yourKeyPass' -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12 -srcstoretype PKCS12 -srcstorepass 'yourPKCS12pass' -alias tomcat
第一步会让你输入密码,对应第二步中的yourPKCS12pass 。第二步中的前两个密码自己设置一下并记好,下面的会用到。
5.配置spring-boot
将.jsk文件放到resources
文件夹下然后在配置文件中加上
server.port = 8443server.ssl.key-store = classpath:MyDSKeyStore.jksserver.ssl.key-store-password = yourJKSpassserver.ssl.key-password = yourKeyPass
此时服务器支持https,但只支持https
可以配置同时支持htttp
@Beanpublic Integer port() { return 8080; //return SocketUtils.findAvailableTcpPort();}@Beanpublic 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;}
这样 8080端口是http 8443端口是https
也可以设置http自动重定向到https
@Value("${server.port}") private int port;@Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { @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(8080); connector.setSecure(false); connector.setRedirectPort(port); return connector; }
阅读全文
0 0
- spring boot 配置 https|ssl
- 【spring boot】配置ssl证书实现https
- spring boot 配置ssl证书实现https
- spring boot 配置https和SSL
- Spring Boot 配置SSL
- Spring Boot tomcat配置SSL
- Spring Boot Tomcate配置 (SSL配置)
- SSL证书和spring boot的配置
- Spring RestTemplate 配置 SSL https (使用 Spring @MVC)
- Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot
- Spring Integration请求https ssl地址相关配置
- Tomcat配置Https (SSL)
- tomcat配置ssl,https
- tomcat9 https ssl配置
- nginx配置SSL(https)
- homestead配置ssl(https)
- spring boot 启用https
- Spring Boot 实现 HTTPS
- hadoop2.7.1对应的hadoop.dll,winutils.exe
- 廖雪峰——作业
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第七章 分治算法
- bootstrapvalidator 验证用户名存在
- select 不可编辑样式 后端无法取值
- spring boot 配置 https|ssl
- 使用RecyclerView实现QQ空间广告位一个位置两个图时偶遇bug
- CentOS用yum安装X Window
- 前端变量命名常用方法
- 字符串、String类和StringBuilder类
- Android开发之USB数据通信
- 我们该如何保持独立思考?
- 蚁群算法
- 【Java】读取excel简单实例