搭建http代理

/ 技术 / 无站内评论 / 448浏览

    

前言

    爬虫时防止IP被封,需搭建多个http代理(IP代理)。

centos7


安装Squid

yum install squid -y
 
# -y 代表自动选择y,全自动安装

 安装后,可以自定义http代理端口,设置来源IP白名单等

vim /etc/squid/squid.conf
# ------ 自定义http端口:
 
# Squid normally listens to port 3128
http_port 3333
 
# ------ 设置来源IP白名单,增加的这两行要在 http_access deny all 前面
# xxx 为ip地址 多个ip空格分割
acl client src xxx xxx
http_access allow client
# And finally deny all other access to this proxy
http_access deny all
#默认squid的access日志里的时间为unix时间戳,不方便阅读
#access log time human-readable
logformat squid %tl.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt

 启动服务

# 启动
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重启
systemctl restart squid.service

    

centos6

        

安装Squid

yum install squid -y
yum install httpd -y
 
# -y 代表自动选择y,全自动安装

 安装后,可以自定义http代理端口,设置来源IP白名单等

vim /etc/squid/squid.conf
# ------ 自定义http端口:
 
# Squid normally listens to port 3128
http_port 3333
 
# ------ 设置来源IP白名单,增加的这两行要在 http_access deny all 前面
# xxx 为ip地址 多个ip空格分割
acl client src xxx xxx
http_access allow client
# And finally deny all other access to this proxy
http_access deny all
#默认squid的access日志里的时间为unix时间戳,不方便阅读
#access log time human-readable
logformat squid %tl.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt  

启动服务

service squid start
service squid stop
service squid restart

或者

/etc/init.d/squid reload

#另外启动和重启命令
/etc/init.d/squid start
/etc/init.d/squid restart

    

其他命令

关闭防火墙【可选】

方式1:关闭防火墙
/etc/init.d/iptables stop
# 方式2:开放端口访问
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
# 重启防火墙
/etc/init.d/iptables restart

统计IP命中次数

 cat access.log|awk '{print$4}'|sort|uniq -c|sort -nr


访问日志

squid的日志默认是打开的,位于目录/var/log/squid/




召唤蕾姆
琼ICP备18000156号

鄂公网安备 42011502000211号