ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

CentOS搭建http代理(转)

2022-03-08 16:33:38  阅读:512  来源: 互联网

标签:http CentOS squid 代理 auth access etc 搭建


一、配置:
一台centos云服务器:

主要说下我这里的一些搭建的问题,centos的系统版本不要选的太高,不然可能设置不成功。

我这里的是设置CentOS7.2 位系统的linux阿里云服务器。
重要的事情说三遍(不然肯定踩坑,我搞了第三天才找到原因,才弄出来):CentOS7.2 位系统的linux阿里云服务器,CentOS7.2 位系统的linux阿里云服务器,CentOS7.2 位系统的linux阿里云服务器

吐槽一下啊,之前是用的是centos8系统,结果就是搭建不成功,然后我正好设置socks5尝试,结果还是不行,偶然看到一个文章说需要7.2 centos系统,我更换系统之后,然后再搜些文章,测试就成功了搭建sock5,然后想着squid搭建http不成功是不是也是系统版本的原因,然后我就用我自己的服务器测试,结果还真是系统的原因,我自己的系统更换为7.2的搭建sock5和http都成功了。

步骤:

1、安装openssl

判断是否安装openssl:

openssl version -a

如果出现下面的界面,说明已经安装,然后不用再安装:

 

 

 安装命令:

yum install openssl

2、安装squid

安装命令:

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

3、安net-tools

安装命令:

yum install net-tools

4、修改squid的配置文件squid.conf

①、修改端口号

参考配置内容:

cat /etc/squid/squid.conf

默认是3128的端口号,建议修改,防止人家扫描代理被分享

 

 

 

使用vi修改配置文件,找到上面端口号的位置,我这里改为6128

vi /etc/squid/squid.conf

改好端口号:

 

 

 

默认squid的access日志里的时间为unix时间戳,不方便阅读,可以通过在 /etc/squid/squid.conf 增加一行logformat配置:

#此行加在配置文件末尾即可
#access log time human-readable
logformat squid %tl.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt

②、开启防火墙

netstat -tunpl

 

 

开启squid的端口号并且重新启动:

firewall-cmd --zone=public --add-port=6128/tcp --permanent
firewall-cmd --reload

然后再执行上面开启squid的端口号6128(你的根据自己的设置进行更改)

5、启动squid

systemctl start squid

查看进程:

netstat -tunpl

 

 

 

6、本机代理访问:

本机代理访问

curl -x 127.0.0.1:6128 www.baidu.com

说明初步配置代理成功了。但是使用自己电脑还不能使用这个代理。

 

 

 

7、修改支持所有代理访问(使用)

编辑squid的配置文件,在http_access deny all的前面添加俩行:

acl client src 0.0.0.0/0
http_access allow client

可以把下图的中的http_access deny all 直接注释
如果修改并且保存:

 

 

 然后重新启动squid:

systemctl restart squid

这个时候可以使用代理了,但是会是透明代理,需要设置用户名和密码,增强代理的可用性,防止被随意扫描使用,也可以加些设置字段,然后弄成高匿的代理。

8、设置用户名+密码

①、设置密码文件

#设置密码
yum -y install httpd-tools
touch /etc/squid/passwd && chown squid /etc/squid/passwd

②、创建用户密码

#创建用户密码
htpasswd /etc/squid/passwd yourusername

执行命名(yourusername就是代理的用户名)之后,俩次输入密码(代理的密码)

 

 

 

③、更改配置文件:

vi /etc/squid/squid.con
#在配置文件的acl代码块下添加
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
#添加
http_access allow all
#或注释掉
http_access deny all

④、重启服务squid:

systemctl restart squid

这个时候可以使用用户名的代理进行测试了。

我这里使用的是谷歌的一个插件SwitchyOmega

然后访问:http://httpbin.org/ip

 

 

 

从结果中可以看出 、即使设置了用户+密码,http的代理依然不是高匿的,前面就是我的本机代理,后面是代理ip,还是不好,下面需要在配置中设置一下即可。

9、把代理设置为高匿的代理:

vi /etc/squid/squid.conf

在配置的文件中后面加入这些自段即可。

request_header_access X-Forwarded-For deny all
request_header_access From deny all
request_header_access Via deny all

更改配置文件之后记得保存:
然后重启:

systemctl restart squid

然后再次访问:http://httpbin.org/ip

 

 这个时候,即可变成高匿的代理。

10、设置开机自启动:

systemctl enable squid

 

转自:https://blog.csdn.net/weixin_42081389/article/details/105405148

 

标签:http,CentOS,squid,代理,auth,access,etc,搭建
来源: https://www.cnblogs.com/shenyixin/p/15981064.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有