在CentOS系统中,HTTP代理的设置可以通过多种方式实现,以下是一些常见的方法和步骤:
1. 使用Squid构建HTTP代理服务器
安装Squid:
1、检查OpenSSL:确保系统已安装OpenSSL,如果没有,可以使用以下命令进行安装:
yum install openssl y
2、安装Squid:
yum install squid y
3、安装nettools:
yum install nettools y
配置Squid:
1、修改配置文件/etc/squid/squid.conf
:
修改端口号(默认是3128,建议改为其他端口以避免被轻易扫描到):
vi /etc/squid/squid.conf
将以下内容添加到文件中:
http_port 6128 dns_v4_first on http_access allow all
2、开启防火墙端口:
firewallcmd zone=public addport=6128/tcp permanent firewallcmd –reload
3、启动并查看Squid服务:
systemctl start squid netstat tunpl | grep squid
测试代理:
1、本机测试:
curl x http://127.0.0.1:6128 http://www.baidu.com
2、允许所有客户端访问:
编辑/etc/squid/squid.conf
文件,添加以下内容以允许所有IP访问:
acl client src 0.0.0.0/0 http_access allow client
保存后重启Squid服务:
systemctl restart squid
3、设置用户名和密码:
安装httpdtools
:
yum y install httpdtools
创建密码文件并添加用户:
touch /etc/squid/passwd && chown squid:squid /etc/squid/passwd htpasswd /etc/squid/passwd yourusername
修改Squid配置文件以启用基本认证:
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
重启Squid服务:
systemctl restart squid
2. 配置环境变量设置全局代理
可以在多个地方设置环境变量来配置全局代理。
1、在/etc/profile
文件中:
vi /etc/profile
添加以下内容:
http_proxy=http://username:password@yourproxy:port/ ftp_proxy=http://username:password@yourproxy:port/ export http_proxy export ftp_proxy
2、在用户的shell配置文件中(如~/.bashrc
,~/.zshrc
等):
vi ~/.bashrc
添加相同的内容:
http_proxy=http://username:password@yourproxy:port/ ftp_proxy=http://username:password@yourproxy:port/ export http_proxy export ftp_proxy
然后重新加载Shell配置:
source ~/.bashrc
3. YUM代理设置
在/etc/yum.conf
文件中添加代理配置:
vi /etc/yum.conf
添加以下内容:
proxy=http://username:password@yourproxy:port/
或者分开写:
proxy=http://yourproxy:port/ proxy_username=username proxy_password=password
这样在使用YUM时,会自动使用指定的代理服务器。
4. 针对特定应用的代理设置
对于某些应用,如wget
、curl
等,可以在其配置文件中设置代理,在/etc/wgetrc
中添加:
http_proxy=http://username:password@yourproxy:port/ ftp_proxy=http://username:password@yourproxy:port/
对于Chrome浏览器,需要在启动时通过命令行参数指定代理:
googlechrome proxyserver="http=http://yourproxy:port"
FAQs:
1、如何在CentOS中为所有用户设置全局HTTP代理?
在/etc/profile
文件中添加代理设置,并导出环境变量。
http_proxy=http://username:password@yourproxy:port/ ftp_proxy=http://username:password@yourproxy:port/ export http_proxy export ftp_proxy
这样所有用户登录时都会自动应用这些代理设置。
2、如何取消CentOS中的HTTP代理设置?
可以通过删除或注释掉相关环境变量来取消代理设置,编辑/etc/profile
文件,删除或注释掉相关的export语句:
# http_proxy=http://username:password@yourproxy:port/ # ftp_proxy=http://username:password@yourproxy:port/ # export http_proxy # export ftp_proxy
然后重新加载配置文件或重启系统使更改生效。