已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 关于nginx反向代理

作者: @Ta

时间: 2020-04-05

点击: 4920

成功反代了steam社区,但是只能访问服务器ip才能打开

如何实现能直接打开https://steamcommunity.com

反代测试地址http://104.250.52.203

试了加hosts也不行

hosts内容填104.250.52.203 steamcommunity.com

[隐藏样式|查看源码]


『回复列表(17|隐藏机器人聊天)』

2. @胡椒舰长,但是访问ip就都能打开
(/@Ta/2020-04-05 23:04//)

3. 我在想是不是要开ssl才能用hosts?
(/@Ta/2020-04-05 23:09//)

4.

@笨蛋海绵,晕死你还是迷糊状态。
你要的效果是类似CDN
要用nginx实现需要设置配置域名steamcommunity.com
设置反向代理
本地设置和你的host一样
健健康康

(/@Ta/2020-04-05 23:20//)

5. @罐子,更加迷糊了,意思只需要绑定域名就可以了吗?
(/@Ta/2020-04-05 23:36//)

6.

@笨蛋海绵,你的反代把https转换成了http,所以就算你加了hosts,也只能通过 http://steamcommunity.com 访问,不能通过 https://steamcommunity.com 访问。你可以给nginx开https,但https需要证书,你肯定得不到steam的证书,所以反代访问时肯定会遇到证书错误。使用nginx无法避免这种证书错误,而且你还需要自己找个假证书,配置起来也不方便。

如果不想遇到证书错误,还要配置方便(不需要自己生成证书),可以使用sniproxy。

搜“sniproxy 反代 https”可以找到很多教程。

(/@Ta/2020-04-05 23:49//)

7. @老虎会游泳,好,我试试
(/@Ta/2020-04-06 08:19//)

8. @老虎会游泳,sniproxy启动成功了,443和80端口也在用了,可是我添加hosts访问,依然不行,这是什么原因?
(/@Ta/2020-04-06 12:17//)

9.

@笨蛋海绵,你在/etc/sniproxy.conf里面添加网站了吗?没添加不能用。
你可以用 telnet ip 443 来测试(windows自己安装一下telnet),如果不通,说明443端口被防火墙拦截。某些防火墙位于云服务器提供商的控制面板,比如阿里云安全组。

(/@Ta/2020-04-06 15:27//)

10.

@老虎会游泳
conf这个内容应该没问题的

user nobody

pidfile /tmp/sniproxy.pid

listener 127.0.0.1:443 {
    protocol tls
    table TableTls
}

listener 127.0.01:80 {
    protocol http
    table TableHttp
}

table TableTls {
    .* *:443
}

table TableHttp {
    .* *:80
}

telnet后,只输出Escape character is '^]'.这个

(/@Ta/2020-04-06 15:58//)

11.

@笨蛋海绵,很有问题啊,你只监听了本地,不能被远程使用(127.0.0.1是本地主机IPv4地址,只能被VPS自己连接)。而且你还把第二个127.0.0.1打错了。
监听部分应该改成这样:

listener 0.0.0.0:443 {
    protocol tls
    table TableTls
}

listener 0.0.0.0:80 {
    protocol http
    table TableHttp
}

还有,telnet测试应该在你的电脑上进行,不要在远程服务器上进行,那样没有意义。远程服务器肯定可以自己连接自己啊。

修改配置文件后需要重启sniproxy,命令可能是service sniproxy restart,具体命令取决于你是怎么安装的。

(/@Ta/2020-04-06 16:04//)

12. @老虎会游泳,127.0.0.1和0.0.0.0都试过了,我添加hosts后,依然无法访问,包括只写端口号,也是不行
(/@Ta/2020-04-06 16:03//)

13.

@笨蛋海绵,你是不是把hosts文件放在了VPS上?应该放在你电脑上。不能修改VPS的hosts。

(/@Ta/2020-04-06 16:06//)

14. @老虎会游泳,hosts修改电脑的,另外我ping了下google的ip是我vps上的ip了
(/@Ta/2020-04-06 16:09//)

15.

@笨蛋海绵,我测试了一下,你运行sniproxy的服务器本身就不能访问steamcommunity.com。我试了www.google.com,也不能访问。但是github.com就可以。

你自己试试在VPS上curl -v https://steamcommunity.com会不会出结果。

(/@Ta/2020-04-06 16:11//)

16. @老虎会游泳,试了下google和steamcommunity,都是有内容输出,看内容貌似是源代码
(/@Ta/2020-04-06 16:14//)

17.

@笨蛋海绵,我又用海外服务器测试了一下,发现可以通过104.250.52.203访问steamcommunity.com了。

这样事实已经很清楚了,中国网络防火墙已经支持按 TLS SNI 中的域名过滤,只要访问的域名是steamcommunity.com,并且服务器在国外,无论IP地址是什么都无法连接。

也就是说,已经可以完全放弃反向代理方案了,除非反向代理的时候更换域名。

(/@Ta/2020-04-06 16:17//)

18. @老虎会游泳,还真的是,我挂梯后也能访问了,难搞,都没接触过
(/@Ta/2020-04-06 16:24//)

回复需要登录

7月13日 02:15 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1