使用nginx转换HTTPS流量
2024-09-07 10:10:55
背景
公司卖了一个产品给甲方,甲方要求部署后,要以https
来访问。甲方提供了证书信息和私钥,记录一下部署过程。
实现
1、思路
在我们产品服务器上部署一个nginx
、证书信息也放在这个服务器上。外界的https
经过nginx
变成http
协议,大致思路如下:
2、安装过程
(1)上传证书、私钥到服务器
- 证书
server.pem
放于/hand/certificate/server.pem
; - 私钥
server.key
放于/hand/certificate/server.key
;
(2)配置nginx.conf
文件
events {
}
http {
server {
listen 443 ssl;
server_name 随意写;
ssl_certificate /app/test.crt;
ssl_certificate_key /app/test.key;
location / {
proxy_pass http://项目真实访问地址/;
proxy_redirect http://项目真实访问地址/; https://外网访问的地址/;
}
}
}
ssl_certificate
、ssl_certificate_key
配置的地址是以后nginx
容器内部的证书、私钥地址;
proxy_redirect
是配置项目中如果有重定向请求的话,仍然进行转发;
(3)起一个nginx
容器
docker run -v /nginx/nginx.conf:/etc/nginx/nginx.conf:ro -p 443:433 -v /hand/certificate/server.pem:/app/test.crt -v /hand/certificate/server.key:/app/test.key -d --restart=always nginx
--restart=always
防止服务器重启后,忘记开这个了要确保把外界的证书路径给映射到容器中
至于
.ctr
、.pem
、.key
后缀应该是无所谓的
参考信息
https://aotu.io/notes/2016/08/16/nginx-https/index.html
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
https://github.com/ljianshu/Blog/issues/50
https://cattail.me/tech/2015/11/30/how-https-works.html
未完待续~
为什么https
能保证安全?stl
?
一个https
连接过程是什么样子的?
为什么需要证书?
最新文章
- 怎么定制属于自己的GitHub主页呢?
- 空的安卓工程添加activity
- svn无法创建分支的解决方法
- makefile自动生成目标与依赖的关系
- 解决HP服务器安装Centos7 x64无法识别硬盘
- shamir叠像术 分类: 图像处理 2015-07-08 16:50 17人阅读 评论(1) 收藏
- dzzoffice注册开启
- ProgressBar 示例及自定义样式
- String.Format格式说明
- Ubuntu 出现apt-get: Package has no installation candidate问题
- hahahahah
- 【AndroidStudio】关于SVN的相关配置简介
- 解决CXF的java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf-extension-soap.xml] cannot be opened because it does not exist
- python大法好——飞机大战
- 【转】android SDK中的ddms使用详解
- Spring boot 使用多个RedisTemplate
- 如何使用git在github上开发的时候和别人在别人仓库上进行协作编程,最后再统一提交
- WordPress基础:极简手动安装教程
- 将Azure计算机视觉添加到Xamarin应用程序简单体验
- ASP.NET MVC同时支持web与webapi模式
热门文章
- [BUG]微信浏览器 iOS input 失焦页面不回弹
- 在Linux环境安装redis步骤,且设置开机自动启动redis
- JAVA和C#中数据库连接池原理与应用
- 44. 更改oracle字符集编码american_america.zh16gbk 改为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
- shiro拦截所有报 Uncaught SyntaxError: Unexpected token &#39;<;&#39; 解决方法
- [剑指offer]6.从尾到头打印链表+18.删除链表节点
- 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
- HDOJ 1301最小生成树的Kruskal算法
- 基础的Linux命令(二)
- [LeetCode] 935. Knight Dialer 骑士拨号器