网易首页 > 网易号 > 正文 申请入驻

如何利用Nginx反向代理,实现HTTPS远程调试本地代码?

0
分享至

背景

方案

其实 springboot 本身就支持 HTTPS(howto-configure-ssl),但是这需要改项目代码不太优雅,于是就想直接用nginx反向代理到本地服务,这样在nginx层面做 HTTPS 就不需要改代码了,只需修改 host 将后端测试环境域名指向nginx服务的 IP 即可,而且可以适用于其它的 HTTP 服务开发调试。

签发证书

首先要生成一套证书用于 nginx 的 ssl 配置,直接使用openssl工具生成一套根证书和对应的服务证书

1. 根证书生成

# 生成一个RSA私钥
openssl genrsa -out root.key 2048
# 通过私钥生成一个根证书
openssl req -sha256 -new -x509 -days 365 -key root.key -out root.crt \
-subj "/C=CN/ST=GD/L=SZ/O=lee/OU=work/CN=fakerRoot"

2.服务器证书生成

# 生成一个RSA私钥
openssl genrsa -out server.key 2048
# 生成一个带SAN扩展的证书签名请求文件
openssl req -new \
-sha256 \
-key server.key \
-subj "/C=CN/ST=GD/L=SZ/O=lee/OU=work/CN=xxx.com" \
-reqexts SAN \
-config <(cat /etc/pki/tls/openssl.cnf \
<(printf "[SAN]\nsubjectAltName=DNS:*.xxx.com,DNS:*.test.xxx.com")) \
-out server.csr
# 使用之前生成的根证书做签发
openssl ca -in server.csr \
-md sha256 \
-keyfile root.key \
-cert root.crt \
-extensions SAN \
-config <(cat /etc/pki/tls/openssl.cnf \
<(printf "[SAN]\nsubjectAltName=DNS:xxx.com,DNS:*.test.xxx.com")) \
-out server.crt

这样就得到了三个关键文件:


  • root.crt:根证书



  • server.key:服务证书私钥



  • server.crt:服务证书


注:生成的服务器证书域名要支持测试环境访问的域名,否则浏览器会提示证书不安全。
nginx 配置

为了方便,直接使用docker启动了一个 nginx 容器进行访问,并将证书和配置文件挂载到对应的目录:

nginx.conf

server {
listen 443 ssl;
server_name _;
ssl_certificate "/usr/local/nginx/ssl/server.pem";
ssl_certificate_key "/usr/local/nginx/ssl/server.key";
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_http_version 1.1;

通过配置ssl_certificatessl_certificate_key来指定服务器的证书和私钥,proxy_pass指定开发环境的访问地址。关于nginx面试题,公众 号Java精选,回复java面试,获取面试资料,支持在线刷题。

启动

docker run -d --name https -p 443:443 -v ~/forword/ssl:/usr/local/nginx/ssl -v ~/forword/config/nginx.conf:/etc/nginx/conf.d/default.conf nginx

将 nginx 配置和证书相关文件挂载至对应的目录,并暴露 443 端口,这样服务启动后即可通过 https 访问到本地开发环境了。

安装根证书

由于服务证书是自己签发的,并不会被浏览器所信任,所以需要将根证书安装至操作系统中。

1. 打开 chrome 浏览器->设置->高级->管理证书

2. 受信任的根证书颁发机构->导入

3.选择之前生成的根证书root.crt导入即可

修改 host

在需要调试时,只需要将本地服务启动,再将 host 中将要测试的域名解析到nginx服务器的 IP,即可将前端请求转发到开发环境上,通过浏览器地址栏的小锁图标可以看到证书,已验证服务已经部署成功。

后记

本文中其实已经提到了两种解决方案了,其实还有其它的解决方案,例如使用fidder这种中间人攻击的方式来实现,这里就不做多叙了。


作者:mokeyWie segmentfault.com/a/1190000021453331

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

文章有帮助的话,点在看,转发吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
声称繁华与科技都是“精心伪装的假象”,美媒华裔记者再次秀下限

声称繁华与科技都是“精心伪装的假象”,美媒华裔记者再次秀下限

南宗历史
2026-05-15 02:44:33
心理学:要想让任何人信任你、喜欢你,对你上头,最有效的方法就是掌握并使用这两个效应

心理学:要想让任何人信任你、喜欢你,对你上头,最有效的方法就是掌握并使用这两个效应

心理观察局
2026-05-15 09:02:21
2025长沙初中实力榜出炉!头部梯队断层领先,四大率差距一目了然

2025长沙初中实力榜出炉!头部梯队断层领先,四大率差距一目了然

朗威谈星座
2026-05-15 18:48:06
中美元首会晤,这一细节,值得细品

中美元首会晤,这一细节,值得细品

九九不加糖
2026-05-15 21:27:28
湖人与詹姆斯关系为何彻底恶化?美媒:詹皇及其经纪人操控舆论手段太过频繁

湖人与詹姆斯关系为何彻底恶化?美媒:詹皇及其经纪人操控舆论手段太过频繁

林子说事
2026-05-16 00:36:55
10道“国宝菜”排名:淮扬菜国宴菜单,吃过一半算你厉害!

10道“国宝菜”排名:淮扬菜国宴菜单,吃过一半算你厉害!

阿龙美食记
2026-05-15 14:23:55
清华大学一博士生被退学处理

清华大学一博士生被退学处理

大风新闻
2026-05-15 12:13:29
美军航母埋在了霍尔木兹,CNN终于承认:美国无法单独控制中东了

美军航母埋在了霍尔木兹,CNN终于承认:美国无法单独控制中东了

Ck的蜜糖
2026-05-16 01:06:49
马斯克面前摆了9个杯子?这不是炫富,这是顶级国宴的通关文牒

马斯克面前摆了9个杯子?这不是炫富,这是顶级国宴的通关文牒

西楼知趣杂谈
2026-05-16 06:20:14
颜值逆天、资源拉满,却争议缠身!刘浩存到底凭什么红透内娱?

颜值逆天、资源拉满,却争议缠身!刘浩存到底凭什么红透内娱?

野狐馋师
2026-05-16 07:20:20
特朗普访华二儿媳旗袍惊艳!不穿大牌穿国货,这波文化尊重有诚意

特朗普访华二儿媳旗袍惊艳!不穿大牌穿国货,这波文化尊重有诚意

知南风
2026-05-16 00:47:49
山东榴莲仅退款后续来了:女子被行政拘留7日,不道歉商家会起诉

山东榴莲仅退款后续来了:女子被行政拘留7日,不道歉商家会起诉

映射生活的身影
2026-05-15 15:43:54
五千万啃光!马蓉从阔太沦落澳洲超市夜班,出门捂脸不敢见人

五千万啃光!马蓉从阔太沦落澳洲超市夜班,出门捂脸不敢见人

皮蛋儿电影
2026-05-14 09:59:14
坐到马斯克和库克中间的湖南女人

坐到马斯克和库克中间的湖南女人

量子位
2026-05-15 15:40:40
王励勤终出狠手!亚运会乒乓球参赛名单大洗牌,蒯曼或成最大变数

王励勤终出狠手!亚运会乒乓球参赛名单大洗牌,蒯曼或成最大变数

郭蛹包工头
2026-05-15 12:30:45
郑州再迎重磅首店,“必胜汉堡”三店同开切入“一人食”赛道

郑州再迎重磅首店,“必胜汉堡”三店同开切入“一人食”赛道

大象新闻
2026-05-15 16:54:40
4-2!维拉锁定前5!英超坏消息:想6队获欧冠资格,需满足3大条件

4-2!维拉锁定前5!英超坏消息:想6队获欧冠资格,需满足3大条件

等等talk
2026-05-16 05:40:10
定了!11月深圳、12月美国,中美互相撑台,楼市大招最晚7月落地

定了!11月深圳、12月美国,中美互相撑台,楼市大招最晚7月落地

说故事的阿袭
2026-05-15 17:54:57
枪声响起!小马科斯大势已去,菲军方紧急切割,中菲关系或迎转机

枪声响起!小马科斯大势已去,菲军方紧急切割,中菲关系或迎转机

影孖看世界
2026-05-14 23:06:05
38.98万,夸张啊...

38.98万,夸张啊...

放毒
2026-05-15 19:14:23
2026-05-16 08:23:00
Java精选
Java精选
一场永远也演不完的戏
1789文章数 3859关注度
往期回顾 全部

科技要闻

直降千元起步!苹果华为率先开启618让利

头条要闻

特朗普访问中国43个小时行程密集紧凑 全程回顾

头条要闻

特朗普访问中国43个小时行程密集紧凑 全程回顾

体育要闻

德约科维奇买的球队,从第6级联赛升入法甲

娱乐要闻

方媛为何要来《桃花坞6》没苦硬吃?

财经要闻

腾讯掉队,马化腾戳破真相

汽车要闻

高尔夫GTI刷新纽北纪录 ID. Polo GTI迎全球首秀

态度原创

数码
旅游
本地
公开课
军事航空

数码要闻

ROG枪神10 Plus超竞版游戏本发布,320W巅峰释放

旅游要闻

2026年“5·19中国旅游日”山东分会场活动即将启动,山东聊城送上文旅惠民大礼包,邀您乐享品质旅游,共赴美好山河!

本地新闻

用苏绣的方式,打开江西婺源

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

联合国安理会审议叙利亚局势

无障碍浏览 进入关怀版