不知道 cloudflare 的SSL支持是怎么实现的,不过,我想到twitter的SSL可用IP都可以自建,也许http://cloudflare.com/ 也是用端口转发实现 SSL网站的CDN。
找这技术文章找了老半天,还担心原文链接失效,所以先转载备份在这里.
自行搭建twitter https代理IP
原理:端口转发
需求:
有ROOT权限的Linux服务器(VPS或独立服务器)
独立IP一个(做好心理准备,可能遭墙)
流程,以Ubuntu服务器为例,其他请参考:
- 安装xinetd:sudo apt-get install xinetd
- 修改配置。注意等号前面必须有空格或者tab(傻逼的格式要求!):
sudo vi /etc/xinetd.d/https
service https
{
disable =no
flags =REUSE
socket_type =stream
wait =no
user =root
port =443
protocol =tcp
redirect =128.121.146.109 443 # 该IP为ping api.twitter.com获得的
#bind =你的local IP(如果你的服务器有多个IP)
}
然后在hosts文件中加入
你的服务器IP twitter.com
你的服务器IP api.twitter.com
DONE
另一个方法:
简单命令行架设 https 转发代理支持twitter api
如果是 Linux(iptables) 运行一下 (大括号的内容自行替换一下)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i {$网卡设备名,一般是eth0} -p tcp -d {$你的主机IP} –dport 443 -j DNAT –to-destination {$twitter.com的IP}:443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
如果是 FreeBSD(pf):
rdr on {$网卡设备名,一般是eth0} proto tcp from any to {$twitter.com的IP} port 80 -> {$你的主机IP} port 3080
然后再使用Twitter Client的PC上 修改host 文件 :
{$你的主机IP} twitter.com www.twitter.com
基本就可以用了
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i {$网卡设备名,一般是eth0} -p tcp -d {$你的主机IP} –dport 443 -j DNAT –to-destination {$twitter.com的IP}:443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
如果是 FreeBSD(pf):
rdr on {$网卡设备名,一般是eth0} proto tcp from any to {$twitter.com的IP} port 80 -> {$你的主机IP} port 3080
然后再使用Twitter Client的PC上 修改host 文件 :
{$你的主机IP} twitter.com www.twitter.com
基本就可以用了
来自周曙光的BLOGSPOT空间