0. 概述

今天因为尝试通过内网安装一个 Docker 并且下载 Docker Image,除了离线安装之外,我还尝试了另外一种方式就是通过在同一内网的接了外网的机器开了一个 http proxy,然后内网的机器通过这台机器代理进行下载安装,本文就记录一下我是如何开启 http proxy 的。

1. 安装 squid

按照管理,还是通过 Yum 来安装,整个过程比较简单:

  1. [[email protected].io]# yum -y update
  2. [[email protected].io]# yum -y install squid
  3. [[email protected].io]# systemctl start squid
  4. [[email protected].io]# systemctl enable squid
  5. [[email protected].io]# service squid status

确保安装成功,并且正常运行。

2. 配置 squid 白名单

squid 的默认配置文件是这样的:

所以要修改的是 /etc/squid/squid.conf,然后里面有很多默认的内容,不用修改他们,直接添加一条:

  1. [[email protected].io]# tail -1 /etc/squid/squid.conf
  2. acl localnet src XX.XX.XX.XX

这里的 XX.XX.XX.XX 表示的是我要使用这个 http proxy 的内网机器 IP。

3. 配置 squid http 代理端口

设置完白名单之后,就需要开启 http 代理端口了,还是修改配置文件:

  1. [[email protected].io]# tail -1 /etc/squid/squid.conf
  2. acl Safe_ports port 8080

这里就表示我要开启的 http proxy 的端口为 8080。

4. 重启 squid

因为修改了 squid 的配置,所以需要重启让配置生效一下:

  1. [[email protected].io]# service squid restart

这样,http 代理就起来了,然后尝试一下是否正常,首先是本地验证一下:

  1. [[email protected].io]# export http_proxy=http://localhost:8080
  2. [[email protected].io]# curl -I http://baidu.com
  3. HTTP/1.1 200 OK
  4. Date: Wed, 11 Dec 2019 23:03:06 GMT
  5. Server: Apache
  6. Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
  7. ETag: "51-47cf7e6ee8400"
  8. Accept-Ranges: bytes
  9. Content-Length: 81
  10. Cache-Control: max-age=86400
  11. Expires: Thu, 12 Dec 2019 23:03:06 GMT
  12. Connection: Keep-Alive
  13. Content-Type: text/html

OK,一切正常,说明 http proxy 是运行起来了,接下来就可以直接用了。

5. 各种应用的 http proxy 设置

6. Ref