之因此须要用到HTTP Proxy Server并非为了要×××,而是为了让没有公网IP地址的内网主机经过有公网IP地址的外网主机访问Internet。举个例子,阿里云ECS在购买时能够不购买公网IP地址,但这种没有公网IP地址的ECS云主机(实例)是没有访问Internet的能力的,也就是说没法在这台实例上下载文件,这在部署应用如部署MySQL时可能遇到没法完成安装问题。解决的办法有两种,一种是在另外一台具备公网访问能力的ECS实例上搭建×××服务,另外一种是在另外一台具备公网访问能力的ECS实例上搭建HTTP Proxy服务。git
搭建×××服务在以前的文章中已经写过了,不一样的是,路由部分须要视状况从新设定,由于没有作这个实验,我的猜测是保留一个到×××服务器公网IP地址的路由,再把默认路由指向×××服务器公网IP地址。本文介绍的是第二种方案,在另外一台具备公网访问能力的ECS实例上搭建HTTP Proxy服务,具体的方案是利用tinyproxy在Linux上搭建HTTP Proxy Server。github
tinyproxy是一个开源的很是轻量级但又十分高效的HTTP Proxy服务程序,支持HTTPS和自定义HTTP Header,更多信息能够查看tinyproxy在GitHub Page上的项目主页:https://tinyproxy.github.io/。bash
若是想作更细致的功能,能够考虑用Squid代替tinyproxy。服务器
步骤很是简单,分为两步:1.在服务端安装和配置tinyproxy;2.在客户端配置HTTP/HTTPS访问。ide
1.在服务端安装和配置tinyproxy测试
以CentOS6.x为例ui
yum -q -y install tinyproxy cp /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.conf$(date +%Y%m%d%H%M%S)~ /tinyproxy.conf <<-'eof' Listen 10.171.168.179 Allow 10.171.168.0/21 Allow 172.16.0.0/12 Allow 100.64.0.0/10 Allow 10.0.0.0/8 Allow 10.16.0.0/16 eof service tinyproxy start
部分截图以下图所示:阿里云
2.在客户端配置HTTP/HTTPS访问.net
# client setting cat >>/etc/profile<<eof # HTTP/HTTPS proxy setting export http_proxy=10.171.168.179:8888 export https_proxy=10.171.168.179:8888 # end HTTP/HTTPS proxy setting eof
在客户端上测试一下:3d
export http_proxy=10.171.168.179:8888 wget http://soft.vpser.net/lnmp/lnmp1.4.tar.gz ls lnmp1.4.tar.gz rm -f lnmp1.4.tar.gz export https_proxy=10.171.168.179:8888 wget https://github.com/favicon.ico ls favicon.ico rm -f favicon.ico
部分截图以下图所示:
tag:阿里云内网访问公网,tinyproxy,HTTP Proxy
--end--