CentOS搭建http代理(轉)
一、配置:
一臺centos雲伺服器:
主要說下我這裡的一些搭建的問題,centos的系統版本不要選的太高,不然可能設定不成功。
我這裡的是設定CentOS7.2 位系統的linux阿里雲伺服器。
重要的事情說三遍(不然肯定踩坑,我搞了第三天才找到原因,才弄出來):CentOS7.2 位系統的linux阿里雲伺服器,CentOS7.2 位系統的linux阿里雲伺服器,CentOS7.2 位系統的linux阿里雲伺服器
吐槽一下啊,之前是用的是centos8系統,結果就是搭建不成功,然後我正好設定socks5嘗試,結果還是不行,偶然看到一個文章說需要7.2 centos系統,我更換系統之後,然後再搜些文章,測試就成功了搭建sock5,然後想著squid搭建http不成功是不是也是系統版本的原因,然後我就用我自己的伺服器測試,結果還真是系統的原因,我自己的系統更換為7.2的搭建sock5和http都成功了。
步驟:
1、安裝openssl
判斷是否安裝openssl:
openssl version -a
如果出現下面的介面,說明已經安裝,然後不用再安裝:
安裝命令:
yum install openssl
2、安裝squid
安裝命令:
yum install squid -y # -y 代表自動選擇y,全自動安裝
3、安net-tools
安裝命令:
yum install net-tools
4、修改squid的配置檔案squid.conf
①、修改埠號
參考配置內容:
cat /etc/squid/squid.conf
預設是3128的埠號,建議修改,防止人家掃描代理被分享
使用vi修改配置檔案,找到上面埠號的位置,我這裡改為6128
vi /etc/squid/squid.conf
改好埠號:
預設squid的access日誌裡的時間為unix時間戳,不方便閱讀,可以通過在 /etc/squid/squid.conf 增加一行logformat配置:
#此行加在配置檔案末尾即可 #access log time human-readable logformat squid %tl.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
②、開啟防火牆
netstat -tunpl
開啟squid的埠號並且重新啟動:
firewall-cmd --zone=public --add-port=6128/tcp --permanent firewall-cmd --reload
然後再執行上面開啟squid的埠號6128(你的根據自己的設定進行更改)
5、啟動squid
systemctl start squid
檢視程序:
netstat -tunpl
6、本機代理訪問:
本機代理訪問
curl -x 127.0.0.1:6128 www.baidu.com
說明初步配置代理成功了。但是使用自己電腦還不能使用這個代理。
7、修改支援所有代理訪問(使用)
編輯squid的配置檔案,在http_access deny all
的前面新增倆行:
acl client src 0.0.0.0/0 http_access allow client
可以把下圖的中的http_access deny all
直接註釋
如果修改並且儲存:
然後重新啟動squid:
systemctl restart squid
這個時候可以使用代理了,但是會是透明代理,需要設定使用者名稱和密碼,增強代理的可用性,防止被隨意掃描使用,也可以加些設定欄位,然後弄成高匿的代理。
8、設定使用者名稱+密碼
①、設定密碼檔案
#設定密碼 yum -y install httpd-tools touch /etc/squid/passwd && chown squid /etc/squid/passwd
②、建立使用者密碼
#建立使用者密碼 htpasswd /etc/squid/passwd yourusername
執行命名(yourusername
就是代理的使用者名稱)之後,倆次輸入密碼(代理的密碼)
③、更改配置檔案:
vi /etc/squid/squid.con
#在配置檔案的acl程式碼塊下新增 auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users #新增 http_access allow all #或註釋掉 http_access deny all
④、重啟服務squid:
systemctl restart squid
這個時候可以使用使用者名稱的代理進行測試了。
我這裡使用的是谷歌的一個外掛SwitchyOmega
:
從結果中可以看出 、即使設定了使用者+密碼,http的代理依然不是高匿的,前面就是我的本機代理,後面是代理ip,還是不好,下面需要在配置中設定一下即可。
9、把代理設定為高匿的代理:
vi /etc/squid/squid.conf
在配置的檔案中後面加入這些自段即可。
request_header_access X-Forwarded-For deny all
request_header_access From deny all
request_header_access Via deny all
更改配置檔案之後記得儲存:
然後重啟:
systemctl restart squid
然後再次訪問:http://httpbin.org/ip
這個時候,即可變成高匿的代理。
10、設定開機自啟動:
systemctl enable squid
轉自:https://blog.csdn.net/weixin_42081389/article/details/105405148