上次用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