请教一个关于隐藏源站 IP 的办法

150 天前
 fongya

我设置了 nginx 的白名单只允许 cdn 回源,并且修改了默认站。然后非 cdn ip 携带 host 信息访问源站 443 时会返回设置的证书。现在不知道怎么样去搞了,暂时把证书给下了。 现在想到的办法是修改 iptables 这样的系统级的防火墙,去修改 80 和 443 端口可访问的 IP 。不过我使用的 cdn 和机器上的站点比较杂,所有没用这个。 还有就是在 nginx 的配置中使用 map 和 ssl_reject_handshake 这样去匹配,匹配不到的就 ssl_reject_handshake 。 还想问问还有没有其他办法了,各位大佬

1115 次点击
所在节点    问与答
9 条回复
viWww0vvxmolvY5p
150 天前
蹲一个大佬
JensenQian
150 天前
ipv6 回源+cf
caola
150 天前
可以使用 nginx+lua 或 openresty , https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/ssl.md
以前我用过,把 SSL 放到 redis 里,再用 nginx+lua 来自定义加载 SSL 证书,https://github.com/openresty/lua-redis-parser
nginx+lua 可以干很多事件的,甚至直接用来写 web 都没有问题
IvanLi127
150 天前
这意思是 nginx 收到没匹配中的主机名时会吐现有的证书出去?怎么感觉有点离谱😱我是不是理解错了
ShinichiYao
150 天前
防火墙只允许 CDN 的 IP ,别的 IP 拒绝访问
fongya
150 天前
@IvanLi127 是收到匹配的 host 后不管 ip 在不在白名单里都会返回证书信息
fongya
150 天前
@caola 好厉害的感觉,等我研究研究
IvanLi127
150 天前
@fongya CDN 支持自定义回源 SNI ,那理论上回源的域名只要足够长,别人猜不到是不是就能解决了?
Hozoy
150 天前
自定义回源 SNI 就行了吧。。我设置的 SNI 都是一些不存在的乱码域名,然后 nginx 设置 ssl_reject_handshake on 就可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052236

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX