標籤:amazon squid 代理服務
首要要申請使用Amazon的EC2,具體步驟就不囉嗦了,不熟悉的同學可以參考以下步驟(Amazon網站上有詳細的線上說明)。
-
帳號註冊
-
綁定信用卡:這個是必須過程,但不需要付費。
-
訪問AWS控制台:https://console.aws.amazon.com
在主WEB面板點擊compute的EC2
接著在EC2面板中點擊Launch Instance
選擇主機鏡像
選擇執行個體的類型,這裡我們選擇第一個:Free tier eligible,不要選擇其它的,否則導致付費
配置執行個體的細節,這裡要注意的是Auto-assign Public IP參數一定要Enable,否則你的VM是沒有外網IP無法遠程和上網的
添加儲存,這裡Amazon提示可以提升到30GB的儲存,我這裡用預設的就夠了
定義執行個體標籤
配置安全性群組(組裡面是定義一些限制或者連接埠策略),這裡有2個連接埠是要對外開放的:
- SSH協議的22連接埠:為了我們遠程配置與管理
- http代理服務使用的3128連接埠(預設)
建立金鑰組並下載私密金鑰認證
-
選擇上面下載到本地的私密金鑰認證,用XSHELL(Linux)或putty(Windows)進行串連
下面我們進入正題,如何在5分鐘時間內完成squid代理服務的搭建。
一、使用pull命令從docker hub 下載一個成熟的squid鏡像
docker pull sameersbn/squid:latest
二、啟動容器
docker run --name squid -d --restart=always --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 sameersbn/squid:latest
三、從容器中將設定檔複製到主機(也可以使用attach方式直接進入容器修改相關設定檔後再食用commit命令持久化到鏡像,但從後期維護的角度不建議採用這種方式)
docker cp squid:/etc/squid3/ .
四、修改已複製到主機的設定檔(設定存取權限等),最小修改一條即可。
vi squid.conf # And finally deny all other access to this proxy http_access allow all #將這裡的 deny all 修改為 allow all
五、停止並刪除正在啟動並執行容器後,採用卷綁定主機設定檔的方式再重新啟動
docker stop squiddocker rm squiddocker run --name squid -d --restart=always --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 --volume /home/ec2-user/squid/squid3:/etc/squid3 sameersbn/squid:latest
六、現在一個私人的httpProxy 伺服器就已經搭建好了,修改瀏覽器的訪問設定後就可以直接使用了。
export ftp_proxy=http://{EC2雲主機ip}:3128export http_proxy=http://{EC2雲主機ip}:3128export https_proxy=http://{EC2雲主機ip}:3128
其他:
A、採用退出時清除容器的方式啟動:
sudo docker run --name squid --rm --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 --volume /home/ec2-user/squid/squid3:/etc/squid3 sameersbn/squid:latest
B、查看代理訪問日誌:
sudo docker exec -it squid tail -f /var/log/squid3/access.log
c、訪問並進入正在啟動並執行容器
sudo docker exec -it squid bash
使用Amazon免費雲主機和Docker技術,快速搭建Squid伺服器!