我设置了 nginx 的白名单只允许 cdn 回源,并且修改了默认站。然后非 cdn ip 携带 host 信息访问源站 443 时会返回设置的证书。现在不知道怎么样去搞了,暂时把证书给下了。 现在想到的办法是修改 iptables 这样的系统级的防火墙,去修改 80 和 443 端口可访问的 IP 。不过我使用的 cdn 和机器上的站点比较杂,所有没用这个。 还有就是在 nginx 的配置中使用 map 和 ssl_reject_handshake 这样去匹配,匹配不到的就 ssl_reject_handshake 。 还想问问还有没有其他办法了,各位大佬
![]() |
1
mway 75 天前
蹲一个大佬
|
![]() |
2
JensenQian 75 天前 via Android
ipv6 回源+cf
|
![]() |
3
caola 75 天前
可以使用 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 都没有问题 |
![]() |
4
IvanLi127 75 天前
这意思是 nginx 收到没匹配中的主机名时会吐现有的证书出去?怎么感觉有点离谱😱我是不是理解错了
|
5
ShinichiYao 74 天前
防火墙只允许 CDN 的 IP ,别的 IP 拒绝访问
|
9
Hozoy 74 天前
自定义回源 SNI 就行了吧。。我设置的 SNI 都是一些不存在的乱码域名,然后 nginx 设置 ssl_reject_handshake on 就可以了
|