上次用golang写了一个Opera Mini代理服务器,写完之后总觉得还是麻烦了点,想来想去,突然恍然大悟,我要的不就是反!向!代!理!嘛...用nginx不就可以了么,哪需要那么麻烦...
HTTP代理部分
在Nginx配置文件中添加
server
{
listen 8080;
server_name opera.example.com;
location /
{
proxy_pass http://server4.operamini.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
重启Nginx即可
Socket代理部分
设置iptables就好
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 9003 -j DNAT --to-destination 141.0.11.253:1080
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 9003 -j SNAT --to-source YOUR-SERVER-IP
修改operamini服务器设置
HTTP代理 opera.exmaple.com:8080
Socket代理 opera.example.com:9003
具体怎么修改我就不赘述了http://ichon.me/2013/02/06/opm-server-golang.html
8 comments
可惜没有服务器了。。。
按照iptables设置,opera mini也收到了vps传回的数据,就是无法连接目标网址
是不是网络问题。。。
应该不是,VPS可以连接上
我遇到过,采用socket代理方式的时候浏览器需要与服务器一直保持连接,有时候网络状况不好就一直处于不断重连的状态,所以后来我都只用HTTP代理方式了。
如果是这样就可惜了,谢谢答复哈
以作者的opera.example.com为例,你需要同时把opera-1.example.com和opera-2.example.com两个域名也绑定到你的vps上,否则某些网页无法连接
以作者的opera.example.com为例,你需要同时把opera-1.example.com和opera-2.example.com两个域名也绑定到你的vps上,否则某些网页无法连接
Leave a Comment