Linux -- squid 正向代理
时间:2015-04-06 23:53 来源:linux.it.net.cn 作者:IT
正向代理: 机器通过该机器访问外部网络.
本例: 使用爬虫去抓取网络数据.但抓取过多时会被封IP.于是, 在一个机器上绑定若干个 IP. 抓取时使用代理.
当然, 可以使用其它代理机器.但这里我们是使用的代理到本机.
在本机上绑定了 4 个 IP. 同时运行四个抓取实例. 每一个都使用代理, 代理到本机不同的端口.
机器上绑定若干 IP 的方式:
http://blog.sina.com.cn/s/blog_5f54f0be0101josm.html
Squid 基本介绍:
http://blog.sina.com.cn/s/blog_5f54f0be0101jp2f.html
本机上的 IP 分别是:
42.55.153.1
42.55.153.2
42.55.153.3
42.55.153.4
分别使用端口:
44881
44882
44883
44884
squid 配置: /etc/squid/squid.conf:
# 在代理的时候去掉请求头部.再另行添加代理后的头部
forwarded_for delete
via Deny all
# 允许本机访问.如果不加,可能不成功
http_access allow localhost
# 定义本机上的各个 IP
acl ip1 myip 42.55.153.1
acl ip2 myip 42.55.153.2
acl ip3 myip 42.55.153.3
acl ip4 myip 42.55.153.4
# 定义本机上的各个端口
acl p1 myport 44881
acl p2 myport 44882
acl p3 myport 44883
acl p4 myport 44884
# 让 squid 监听本机的各个端口
http_port 44881
http_port 44882
http_port 44883
http_port 44884
# 定义从 squid 代理往外的数据, 每个 ip 分别使用哪个端口
tcp_outgoing_address ip1 p1
tcp_outgoing_address ip2 p2
tcp_outgoing_address ip3 p3
tcp_outgoing_address ip4 p4
把上面的配置加到当前的配置文件上部即可.
配置完后重启 squid 服务.
然后再配置爬虫软件使用代理,使用相应的 IP 和端口.
当使用 44881 端口时, 出口使用的 IP 是 ip1.
按上面的 tcp_outgoing_address 配置的规则.
依此类推, 这样, 同时运行四个任务,实际上出去的 IP 就是四个. 就不会被封了.
(责任编辑:IT)
正向代理: 机器通过该机器访问外部网络. 本例: 使用爬虫去抓取网络数据.但抓取过多时会被封IP.于是, 在一个机器上绑定若干个 IP. 抓取时使用代理. 当然, 可以使用其它代理机器.但这里我们是使用的代理到本机. 在本机上绑定了 4 个 IP. 同时运行四个抓取实例. 每一个都使用代理, 代理到本机不同的端口. 机器上绑定若干 IP 的方式: http://blog.sina.com.cn/s/blog_5f54f0be0101josm.html Squid 基本介绍: http://blog.sina.com.cn/s/blog_5f54f0be0101jp2f.html 本机上的 IP 分别是: 42.55.153.1 42.55.153.2 42.55.153.3 42.55.153.4 分别使用端口: 44881 44882 44883 44884 squid 配置: /etc/squid/squid.conf: # 在代理的时候去掉请求头部.再另行添加代理后的头部 forwarded_for delete via Deny all # 允许本机访问.如果不加,可能不成功 http_access allow localhost # 定义本机上的各个 IP acl ip1 myip 42.55.153.1 acl ip2 myip 42.55.153.2 acl ip3 myip 42.55.153.3 acl ip4 myip 42.55.153.4 # 定义本机上的各个端口 acl p1 myport 44881 acl p2 myport 44882 acl p3 myport 44883 acl p4 myport 44884 # 让 squid 监听本机的各个端口 http_port 44881 http_port 44882 http_port 44883 http_port 44884 # 定义从 squid 代理往外的数据, 每个 ip 分别使用哪个端口 tcp_outgoing_address ip1 p1 tcp_outgoing_address ip2 p2 tcp_outgoing_address ip3 p3 tcp_outgoing_address ip4 p4 把上面的配置加到当前的配置文件上部即可. 配置完后重启 squid 服务. 然后再配置爬虫软件使用代理,使用相应的 IP 和端口. 当使用 44881 端口时, 出口使用的 IP 是 ip1. 按上面的 tcp_outgoing_address 配置的规则. 依此类推, 这样, 同时运行四个任务,实际上出去的 IP 就是四个. 就不会被封了. (责任编辑:IT) |