本文主要记录了一下设置CentOS服务器使用Squid作为HTTP代理,及客户端的代理配置的方法,下面来看看详细的介绍吧。
主机上安装和设置Squid
作为网关的n147机器,公网IP是2.2.2.147。安装Squid,然后修改配置,启用服务。
|
1
2
3
4
5
6
7 |
yum install -y squid
# squid的配置文件在 /etc/squid/squid.conf,修改内容可参考下面的Dockerfile
# 修改配置后,初始化squid的工作目录
squid -z
# 启动服务
systemctl enable squid
systemctl start squid |
以Docker容器的方式运行Squid
Dockerfile内容如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
FROM alpine:latest
RUN apk update --no-cache; \\
apk add squid --no-cache
# 可以在squid.conf中限制允许访问此代理的IP范围,否则只有内网IP可以访问
RUN sed -i "/RFC 4291/a acl ics src 2.2.2.0/24" squid.conf; \\
sed -i "/RFC 4291/a acl ics src 2.2.3.3/32" squid.conf
# 可以修改默认的端口号,如果修改了默认端口,需要修改下面的 EXPOSE 部分
RUN sed -i "/http_port/c http_port 8888" squid.conf
# 开启cache
RUN sed -i '/cache_dir/s/#//g' /etc/squid/squid.conf
# 或者直接使用修改过的配置文件
# ADD squid.conf /etc/squid/squid.conf
# squid -z用于初始化,创建cache目录,但直接在Dockerfile中
# RUN squid -z
# 却无法创建cache目录,导致squid无法启动
# 故将初始化和启动命令写入脚本中
RUN echo -e '#!/bin/sh\\n[ -d /var/cache/squid/00 ] || squid -z\\nsquid -N' >/squid.sh; \\
chmod +x /squid.sh
EXPOSE 3128
CMD ["/squid.sh"] |
构造镜像:docker build ./ -t squid:latest
启动容器:docker run -d -p 3128:3128 --name squid squid:latest
使用HTTP代理
内网其它不能直接访问外网的机器可以设置使用n147提供的代理服务。
全局的环境变量
在/etc/environment(不需要export),/etc/profile或/etc/profile.d/http_proxy.sh导出http_proxy和https_proxy
|
1
2 |
export http_proxy=http://2.2.2.147:3128
export https_proxy=http://2.2.2.147:3128 |
squid可以作为https代理,只要设置 https_proxy=http://2.2.2.147:3128, 即这个环境变量以http://开头。
Docker
Docker需要单独设置代理,新建文件/etc/systemd/system/docker.service.d/http-proxy.conf,内容如下(注意多项环境变量之间要有空格,还设置了对私有镜像仓库不使用代理):
|
1
2 |
[Service]
Environment="HTTP_PROXY=http://2.2.2.147:3128" "HTTPS_PROXY=http://2.2.2.147:3128" "NO_PROXY=localhost,10.0.0.147" |
重启docker daemon: systemctl restart docker,执行docker info查看是否生效。
yum
yum 会使用全局代理设置,也可以单独设置代理,在/etc/yum.conf中增加:
|
1 |
proxy=http://2.2.2.147:3128 |
apt
在文件/etc/apt/apt.conf中增加:
|
1
2 |
Acquire::http::proxy "http://2.2.2.147:3128";
Acquire::https::proxy <a rel="external nofollow" href="http://2.2.2.147:3128">http://2.2.2.147:3128</a>; |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对快网idc的支持。
原文链接:https://ying-zhang.github.io/misc/2017-04-setup-squid-proxy/
相关文章
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
Java中利用Alibaba开源技术EasyExcel来操作Excel表的示例代码
2025-05-29 33 -
2025-05-25 59
-
2025-05-27 26
-
选择稳定的网站服务器租用时,带宽和流量限制如何影响网站速度?
2025-05-27 102 -
2025-05-25 90

