设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 100|回复: 10

nginx反代https证书验证问题

[复制链接]

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
发表于 2019-9-11 16:55:39 | 显示全部楼层 |阅读模式
本帖最后由 JackyWood 于 2019-9-11 17:25 编辑

nginx反代到另外一个https的服务器,如果把proxy_ssl_verify设置为on的话,需要在配置文件里指定一个证书,有没有办法不在配置文件里指定证书,让nginx用域名去验证源服务器的证书有效性?

试了proxy_ssl_name,但是没啥用,如果proxy_ssl_verify不设置就不会验证源服务器证书,但是设置为on就必须在配置文件里指定一个证书。
回复

使用道具 举报

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
 楼主| 发表于 2019-9-11 17:11:29 | 显示全部楼层
坐等一个nginx大佬进来指导一下

回复

使用道具 举报

24

主题

137

回帖

360

积分

中级会员

积分
360
发表于 2019-9-11 17:20:39 | 显示全部楼层
是说让nginx去拉取源服务器的证书?我这样是没成功过(试过。很多种方法)。我现在都是nginx的反代服务器上也放置了一份证书,直接拉取源http(不是https)地址来解决。
回复

使用道具 举报

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
 楼主| 发表于 2019-9-11 17:25:18 | 显示全部楼层

squalll 发表于 2019-9-11 17:20

是说让nginx去拉取源服务器的证书?我这样是没成功过(试过。很多种方法)。我现在都是nginx的反代服务器上 ...

是的,就是想让nginx去拉源服务器的证书,然后走正常tls证书验证链,不自己在反代服务器上放置和配置证书。我试了很多也都没能成功。

回复

使用道具 举报

1

主题

29

回帖

77

积分

注册会员

积分
77
发表于 2019-9-11 17:20:00 | 显示全部楼层
应该不行的吧,不然CDN厂商早这么干了,,,
但是你可以源站只开443端口不部署证书,反代的还是要部署证书
回复

使用道具 举报

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
 楼主| 发表于 2019-9-11 17:33:12 | 显示全部楼层

柒焰 发表于 2019-9-11 17:33

应该不行的吧,不然CDN厂商早这么干了,,,
但是你可以源站只开443端口不部署证书,反代的还是要部署证书 ...

目前来看是不行了,反代站在proxy_ssl_verify设置为on以后,配置了源站证书,源站换证书的时候也要去反代站换一下,好麻烦


只能写个脚本,源站更新证书的时候自动同步到反代站对应目录

回复

使用道具 举报

28

主题

431

回帖

962

积分

高级会员

积分
962
发表于 2019-9-11 17:45:46 | 显示全部楼层
理论上不部署应该不可以

如果可以的话 任何反代https 都有钓鱼的风险
回复

使用道具 举报

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
 楼主| 发表于 2019-9-11 17:33:00 | 显示全部楼层

liuhaidong 发表于 2019-9-11 17:52

理论上不部署应该不可以

如果可以的话 任何反代https 都有钓鱼的风险

不过理论上我在反代服务器把proxy_ssl_verify关掉也可以钓鱼
比如我建一个网站,反代到银行到网站,只要用户误认为我的网站是银行官网就可以
用户用浏览器打开我的域名(我的证书也是CA签发的,所以不会警告),我反代到银行网站(proxy_ssl_verify off),这个时候用户跟我到服务器到通信是校验证书的,但是校验的是我的证书,我跟银行的网站通信不校验证书,用户那边也不会警告

因为反代并不要求域名一致,所以感觉不是因为钓鱼风险才必须在proxy_pass的地方要求必须配置源站的证书
回复

使用道具 举报

24

主题

137

回帖

360

积分

中级会员

积分
360
发表于 2019-9-11 17:52:13 | 显示全部楼层
我试了很多次。都没有成功的。也能看见日志保个什么握手错误。实在不行你就443直接转发端口到源吧。这样理论上是可行的
回复

使用道具 举报

25

主题

671

回帖

1439

积分

金牌会员

积分
1439
 楼主| 发表于 2019-9-11 18:03:44 | 显示全部楼层

squalll 发表于 2019-9-11 18:06

我试了很多次。都没有成功的。也能看见日志保个什么握手错误。实在不行你就443直接转发端口到源吧。这样理 ...

我现在是转发到源站的443端口,在proxy_pass的地方不打开proxy_ssl_verify就不校验源站证书了。
但是这样有个风险就是反代站和源站之间可能会被中间人攻击,如果配置了证书,就需要在源站更新证书的时候用脚本同步到反代站,比较麻烦。
JackyWood 发表于 2019-9-11 18:03

不过理论上我在反代服务器把proxy_ssl_verify关掉也可以钓鱼
比如我建一个网站,反代到银行到网站,只要 ...

如果不同域名是可以的

我的意思 不可能从源站拉取证书  和 key

DNS劫持 加上 反代拉取证书  就可以钓大鱼了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-12-19 19:53 , Processed in 0.021890 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表