消除 TLS in TLS 特征的思路

2023-03-10 17:16:11 +08:00
 busier
自建一个 nginx 服务器,配置好 https 访问!

主要配置只有一条:
location / {
proxy_pass $scheme://$host;
}

~~~~~~~~~~~~~~~~

接下来,给浏览器装一个“http head 修改插件”!设置 HOST 头为你想访问的目标网站的 SERVER_NAME

访问此 nginx 服务器,此时 nginx 会根据客户端发送的修改后的 HOST ,传回反向代理的不同目标网站

~~~~~~~~~~~~~~~~

大家可以扩展思维想一下!你想到了什么 :)~~~

~~~~~~~~~~~~~~~~

目前测试基本可行,但是不具备实用条件。

原因如下:
1 、现有 http head 修改插件操作很麻烦,而且不能修改 SNI ,浏览器地址栏也不是目标网站域名。所以希望有高手能出一个专用浏览器插件,实现浏览器不管什么地址,都可以固定往一台服务器发送请求,并实现 SNI 自定义。

2 、nginx 担任了回源服务器的 TLS 卸载工作,到客户端的链接又重新 TLS 加密,不存在 TLS in TLS 特征了。就如同 cloudflare CDN 那样。带来的问题是客户端访问时证书与回源网站服务器不一致,可以考虑自建 CA ,并信任此 CA ,使用通配符证书,但是也可能有问题。
顺便说一下 nginx 如果能像 sslsplit 那样,根据客户端的访问,自动用指定 CA 生成证书,就好了~!

3 、不一定非要用 host 头传输要访问的地址,这样容易被探测,可以考虑自定义头。(但是自定义头不要传到回源服务器去了,容易泄漏。)另外,也可以考虑用 ssl_verify_client on;将客户端访问保护起来。

4 、很有局限性,只能实现 Web 代理,不能做到 Socks5 那样的效果。
2286 次点击
所在节点    NGINX
0 条回复

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

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

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

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

© 2021 V2EX