之因此須要用到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--