centos7下搭建高匿HTTP代理


一、一般適用情況
1、兩台都有外網IP,一台服務器請求資源通過另外一個服務器,本文重點講第一種。
2、兩台服務器,其中一台服務器只有內網IP,另外一台服務器有公網和內網IP。

二、前提

# 確認服務器端ip_forward轉發開啟
echo 1 > /proc/sys/net/ipv4/ip_forward
ip_forward需要設定為1
sysctl -a |grep -w ip_forward
net.ipv4.ip_forward = 1

客戶端配置

export https_proxy=http://服務端內網ip:3128

三、下載

centos
yum install squid

ubuntu
sudo apt-get install squid3  

修改配置文件

vim /etc/squid/squid.conf  #修改配置文件

#允許的客戶端ip
acl allcomputers src 0.0.0.0/0.0.0.0
#配置用戶名密碼,后面會生成passwords文件
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated allcomputer

找到http_access deny all並注釋掉

#http_access deny all

最好修改一下默認的3128端口,因為這個端口是默認的,很容易被網絡上的代理爬蟲探測到。

http_port 8828

用戶名密碼認證(如果沒有htpasswd命令需要下載)

網絡上有很多專門爬免認證的代理的爬蟲,如果我們自己搭建的代理服務器不加認證的話,會被這些爬蟲探測到然后淪為了免費代理。
使用htpasswd來創建passwords文件,htpasswd命令在軟件包apache2-utils中

sudo htpasswd -c -d /etc/squid3/passwords 自定義用戶名
sudo chmod o+r /etc/squid3/passwords

#centos7
systemctl restart squid.service

#centos6
sudo service squid3 start
或者
etc/init.d/squid start

加入全局環境變量 將我們的代理配置上:
vim  /etc/profile  #(注意備份)
#export http_proxy="http://用戶名:密碼@代理IP:代理端口"
export http_proxy="http://xxxx:xxxxxxxx@172.21.0.14:8888"

#在客戶端驗證
curl -l "http://www.baidu.com"
#在服務端查看日志
squid3的訪問日志文件在/var/log/squid3/access.log

tail -f /var/log/squid3/access.log

[root@VM_0_14_centos ~]# tailf /var/log/squid/access.log 
1546068808.417    174 172.21.0.10 TCP_MISS/502 4163 GET http://www.abc.com/ - HIER_DIRECT/199.181.132.250 text/html
1546068810.082     11 172.21.0.10 TCP_MISS/502 4163 GET http://www.abc.com/ - HIER_DIRECT/199.181.132.250 text/html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM