一、一般适用情况
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

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. Linux 技巧:让进程在后台可靠运行的几种方法【转】

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  2. 【原创】大叔经验分享(51)docker报错Exited (137)

    docker container启动失败,报错:Exited (137) *** ago,比如 Exited (137) 16 seconds ago 这时通过docker logs查不到任何日志,从 ...

  3. 【转载 | 笔记】IIS无法删除应该程序池 因为它包含X个应用程序

    IIS无法删除应该程序池 因为它包含X个应用程序 今天代码主分支在vs2015创建了虚拟目录http://localhost/webapp指向的物理路径是E:\webapp 之后新开了一个分支把代码放 ...

  4. jqGrid基础写法

    $("#jqGrid").jqGrid({ url: baseURL + 'sys/scheduleLog/list', datatype: "json", c ...

  5. 初学python之路-day09

    今天的主要内容为内存管理. 1.引用计数:垃圾回收机制的依据 # 1.变量的值被引用,该值的引用计数 +1 # 2.变量的值被解绑,该值的引用计数 -1 # 3.引用计数为0时就会被垃圾回收机制回收 ...

  6. 二丶CSS

    一.css概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,对html标签的渲染和布局 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 二.css的 ...

  7. jsp中一个标签两种方式绑定两个click事件导致未执行的问题

    近日,在开发过程中,写了一个标签 <li id="a1" onclick="doSomething()">...</li> 在js页面中 ...

  8. 2-1、FileBeat入门

    FileBeat入门 要开始使用Filebeat设置,请安装并配置相关产品: 用于存储和索引数据的Elasticsearch. 用户界面的Kibana. 用于解析和增强数据的Logstash(可选). ...

  9. Linux telnet安装

    为什么需要telnet? telnet就是查看某个端口是否可访问.我们在搞开发的时候,经常要用的端口就是 8080.那么你可以启动服务器,用telnet 去查看这个端口是否可用. Linux cent ...

  10. 金山WPS一面

    昨天下午在武汉面了一场服务端开发工程师吧,结果还未通知,是校招的, 大体上题目如下: 先自我介绍 然后是聊了一些笔试上的情况 问了spring的的作用以及优势 http的状态,三次握手四次挥手 gc的 ...