Springboot项目使用Nginx 并配置 HTTPS
来源:互联网 发布:服装设计软件cad 编辑:程序博客网 时间:2024/06/05 09:12
Springboot的配置
参考博客1
参考博客2
签发证书:
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
gradle或者Maven项目:直接将生成的keystore.p12放在resources下
application.yml
server:# context-path: /myth ssl: key-store: classpath:keystore.p12 key-store-password: demo1429336 key-store-type: PKCS12 key-alias: tomcat port: 8888 session: timeout: 3000
任意的一个@Configuration注解类里添加
@Bean public TomcatEmbeddedServletContainerFactory servletContainerFactory() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory() { @Override protected void postProcessContext(Context context) { //SecurityConstraint必须存在,可以通过其为不同的URL设置不同的重定向策略。 SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; factory.addAdditionalTomcatConnectors(createHttpConnector()); return factory; }// HTTP自动转发到HTTPS private Connector createHttpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setSecure(false); connector.setPort(8887);//http端口(这是要新增加的一个端口) connector.setRedirectPort(8888);// https 端口配置文件中tomcat启动的默认端口 return connector; }
Nginx的配置
- 先签发证书
############ 证书颁发机构# CA机构私钥openssl genrsa -out ca.key 2048# CA证书openssl req -x509 -new -key ca.key -out ca.crt############ 服务端# 生成服务端私钥openssl genrsa -out server.key 2048# 生成服务端证书请求文件openssl req -new -key server.key -out server.csr# 使用CA证书生成服务端证书 关于sha256,默认使用的是sha1,在新版本的chrome中会被认为是不安全的,因为使用了过时的加密算法。openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt # 打包服务端的资料为pkcs12格式(非必要,只是换一种格式存储上一步生成的证书) 生成过程中,需要创建访问密码,请记录下来。openssl pkcs12 -export -in server.crt -inkey server.key -out server.pkcs12
新建任意名的配置文件在/etc/nginx/conf.d/下
upstream test { server 127.0.0.1:8888;}server { listen 443; server_name wx.baidu.com; ssl on; ssl_certificate /home/er/https/server.crt; ssl_certificate_key /home/er/https/server.key; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxt true; proxy_pass https://test; proxy_redirect off; }}
重启nginx即可:sudo nginx -s reload
阅读全文
0 0
- Springboot项目使用Nginx 并配置 HTTPS
- Springboot配置使用ssl,使用https
- nginx配置:登录使用https
- springboot-maven快速配置并启动项目
- Springboot配置https访问
- SpringBoot配置Https
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- tomcat配置https以及nginx使用ssl模块配置HTTPS
- nginx使用ssl模块配置HTTPS支持
- nginx使用ssl模块配置HTTPS支持
- nginx使用ssl模块配置HTTPS支持
- nginx使用ssl模块配置HTTPS支持
- nginx 使用 let's encrypt 配置https
- nginx使用ssl模块配置HTTPS支持
- Nginx使用ssl模块配置https
- nginx使用ssl模块配置HTTPS支持
- nginx使用ssl模块配置HTTPS支持
- nginx使用ssl模块配置HTTPS支持
- 7-13 水仙花数(20 分)
- 云片短信平台ASP版程序网站使用方法
- html中怎么定义搜索框?html中search类型?
- leetCode:Non-overlapping Intervals
- 连续第十一天总结
- Springboot项目使用Nginx 并配置 HTTPS
- [LeetCode]62. Unique Paths
- Bootstrap学习笔记-css组件Hello_yihao的博客
- 线程之suspend和resume方法
- Visual Studio Ultimate 2013 Update5 中文版/英文版 下载 CD-KEY
- Dlib库landmark算法解析(ERT 集成回归树)
- redis学习系列(八)--redis-RDB基础
- Spring项目处理异常
- Windows编程基础--第7节 来吧,VS 2010