一、一般适用情况
1、两台都有外网IP,一台服务器请求资源通过另外一个服务器,本文重点讲第一种。
2、两台服务器,其中一台服务器只有内网IP,另外一台服务器有公网和内网IP。

二、前提

  1. # 确认服务器端ip_forward转发开启
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. ip_forward需要设定为1
  4. sysctl -a |grep -w ip_forward
  5. net.ipv4.ip_forward = 1

客户端配置

  1. export https_proxy=http://服务端内网ip:3128

三、下载

  1. centos
  2. yum install squid
  3.  
  4. ubuntu
  5. sudo apt-get install squid3  

修改配置文件

  1. vim /etc/squid/squid.conf #修改配置文件
  2.  
  3. #允许的客户端ip
  4. acl allcomputers src 0.0.0.0/0.0.0.0
  5. #配置用户名密码,后面会生成passwords文件
  6. auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
  7. auth_param basic realm proxy
  8. acl authenticated proxy_auth REQUIRED
  9. http_access allow authenticated allcomputer

找到http_access deny all并注释掉

  1. #http_access deny all

最好修改一下默认的3128端口,因为这个端口是默认的,很容易被网络上的代理爬虫探测到。

  1. http_port 8828

用户名密码认证(如果没有htpasswd命令需要下载)

  1. 网络上有很多专门爬免认证的代理的爬虫,如果我们自己搭建的代理服务器不加认证的话,会被这些爬虫探测到然后沦为了免费代理。
  2. 使用htpasswd来创建passwords文件,htpasswd命令在软件包apache2-utils
  3.  
  4. sudo htpasswd -c -d /etc/squid3/passwords 自定义用户名
  5. sudo chmod o+r /etc/squid3/passwords
  6.  
  7. #centos7
  8. systemctl restart squid.service
  9.  
  10. #centos6
  11. sudo service squid3 start
  12. 或者
  13. etc/init.d/squid start
  14.  
  15. 加入全局环境变量 将我们的代理配置上:
  16. vim /etc/profile #(注意备份)
  17. #export http_proxy="http://用户名:密码@代理IP:代理端口"
  18. export http_proxy="http://xxxx:xxxxxxxx@172.21.0.14:8888"
  19.  
  20. #在客户端验证
  21. curl -l "http://www.baidu.com"
  1. #在服务端查看日志
  2. squid3的访问日志文件在/var/log/squid3/access.log
  3.  
  4. tail -f /var/log/squid3/access.log
  5.  
  6. [root@VM_0_14_centos ~]# tailf /var/log/squid/access.log
  7. 1546068808.417 174 172.21.0.10 TCP_MISS/502 4163 GET http://www.abc.com/ - HIER_DIRECT/199.181.132.250 text/html
  8. 1546068810.082 11 172.21.0.10 TCP_MISS/502 4163 GET http://www.abc.com/ - HIER_DIRECT/199.181.132.250 text/html

centos7下搭建高匿HTTP代理的更多相关文章

  1. Ubuntu下搭建高匿HTTP代理(亲测可用)

    功能用途 我们在生活中见过各种代理,比如我们距离火车站较远,我们可以选择通过距离最近的火车票代售点来购买火车票.又比如商品代理商,我们拿不到厂家的直接或者,可以通过厂家授权的代理经销商来获得产品.代理 ...

  2. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  3. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  4. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  5. centos下搭建高可用redis

    Linux下搭建高可用Redis缓存 Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Li ...

  6. centos7下搭建ceph luminous(12.2.1)--无网或网络较差

    本博客的主要内容是在centos7下搭建luminous,配置dashboard,搭建客户端使用rbd,源码安装ceph,最后给出一些较为常用的命令.本博客针对初次接触ceph的人群. 搭建环境: 主 ...

  7. CentOS7下搭建zabbix监控(四)——Zabbix报警设置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...

  8. CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 (1).配置Zabbix监控Apache服务 主机名:yo ...

  9. CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置

    Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...

随机推荐

  1. proxy ubunta

    /etc/environment : Is the correct place to specify system-wide environment variables that should be ...

  2. notepad++安装nppFTP

    官网下载的最新版notepad++,结果pluginadmin里面installnppftp总是安不上,点击install之后然后点是就退出,再进去也没有安装好. 网上找了半天也没找到什么有用信息,最 ...

  3. python学习第30天

    tcp协议的socket server 并发效果验证客户端的合法性socket模块还有一些其他的方法

  4. vscode中tab键无法触发emmet快捷生成

    1.file——preference——setting 2.点击user setting的extensions 3.点击emmet 4.emmet下的edit in settings.json.添加代 ...

  5. C#发送带附件的邮件的代码

    如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m. ...

  6. urllib-Proxy

    代理的使用: 首先,当我们正确爬取一个网页时,发现代码没有错误,可就是不能爬取网站.原因是有些网站设置了反爬取手段,就是知道你就是用python代码爬取该网站,设置了屏蔽.如果我们又想爬取该网站,便要 ...

  7. Excel—错误解释

       1.#####! 如果单元格所含的数字.日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!.这个看起来比较简单,大家应该都了解吧. 解决方法:如果单元格所含的数字 ...

  8. Linux中jdk的安装配置

    1.下载jdk安装包 2.解压文件:tar -zxvf jdk-8u211-linux-x64.tar.gz 3.编辑环境变量:vi /etc/profile 4.在环境变量文末添加三行: expor ...

  9. Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误

    转载,感谢这位博主,有自己的添加. 如题,最近以spring mvc作为后台框架,前端异步获取数据时(.html为后缀名的访问方式),报406 Not Acceptable错误.当初都不知道啥原因,前 ...

  10. Objective-C代码简写

      NSNumber 所有的[NSNumber numberWith…:]方法都可以简写了: [NSNumber numberWithChar:‘X’] 简写为 @‘X’; [NSNumber num ...