需求是这样的:很多境外网站加载很慢,有一个舒服的办法是,买一个速度快的境外 VPS ,监听 80 和 443 端口,在 TCP 层面转发流量指需要代理的网站。本地改 hosts 把目标网站解析到自己买的 VPS 上。
但这么做,每个网站就要一个 IP ,成本很高。
有没有一种方法,在 VPS 上解析 SNI 信息,然后根据目标站点,反代不同的网站。然后本地把所有要访问的站点都解析到自己的 VPS 上。
为什么不在 HTTP 层反代?因为没有目标网站的 TLS 证书。我也不想自签名。
1
hefish 2023-05-25 13:00:55 +08:00
nginx haproxy 都能实现吧。。
|
2
Puteulanus 2023-05-25 13:04:13 +08:00 1
SNIProxy
|
3
villivateur OP @Puteulanus 感谢,看了下确实满足需求
|
4
shaoshuang 2023-05-25 13:12:06 +08:00
这种需求。。。为啥还要搞这么复杂。。。难道不是任意一个梯子软件都能做么。。。
|
5
villivateur OP @shaoshuang 这么做,代理的思路是不一样的,在很多没办法装正向代理软件的时候,只能这么搞。
|
6
lslqtz 2023-05-25 13:17:38 +08:00
权限控制是一个问题.
|
7
choury 2023-05-25 13:34:55 +08:00 via Android
有 sni 信息过不了墙,你搞到国外有什么用
|
8
sujin190 2023-05-25 13:37:57 +08:00 2
|
9
villivateur OP @choury 我的需求是代理速度慢的站点,不是被墙的站点
|
10
cat 2023-05-25 14:28:32 +08:00
nginx 四层转发即可
|
11
ysc3839 2023-05-25 15:31:00 +08:00 via Android
那就是 sni proxy ,实现的项目非常多,C 和 golang 的都有,甚至 nginx 配置一下也能实现
|
12
eudemonwind 2023-05-25 15:37:34 +08:00 via Android
这么搞,遇到被阻断的 sni 就歇菜了,如果是已经被墙黑了的 sni ,搞不好你小鸡 ip 也会被墙。
可以闹个半路转换 sni 的工具,比如你连你小鸡的时候用 https--www-google-com.yousite.com ,小鸡上有程序把这个 sni 转换成 www.google.com 再转发出去,但是这样直接转 https 流量会显示证书错误,跳过的话又有安全风险。还不能排除墙没有识别证书的功能,万一墙看一眼你的证书是谷狗的,就直接把你小鸡 ip 办了。。。 所以最理想的还是用 nginx 等工具,直接反代谷狗,证书啥的用你自己的有效证书。但这样又不太灵活,loc 和 v2 坛子里有大佬写过一些万能配置,类似 ghproxy.com 那种的,可是用起来又有各种各样的问题。。。。。。目前还没有太完美的,有的话给我个传送门,我也在找这个。 |
14
ysc3839 2023-05-25 15:59:05 +08:00 via Android
@eudemonwind 用自己证书的话直接弄成 https proxy 就完事了
|
15
Remember 2023-05-25 16:02:50 +08:00
haproxy 满足你的需求
|
18
SenLief 2023-05-25 17:12:16 +08:00
haproxy 就可以利用 sni 分流。
|