--- title: HTTP 代理配置 --- 如果你通过代理来操作 Rancher,并想要通过代理访问服务(例如拉取应用商店),你需要提供 Rancher 代理的信息。由于 Rancher 是用 Go 编写的,Rancher 使用如下常见的代理环境变量。 请确保 `NO_PROXY` 包含不使用代理的网络地址,网络地址范围和域名。 | 环境变量 | 用途 | | -------------------- | ----------------------------------------------------------------------------------------------------------------------- | | HTTP_PROXY | 发起 HTTP 连接的代理地址 | | HTTPS_PROXY | 发起 HTTPS 连接的代理地址 | | NO_PROXY | 发起连接时不使用代理的网络地址,网络地址范围和域名 | :::note 重要提示: `NO_PROXY` 必须大写才能使用网络范围 CIDR 表示法。 ::: ## 基于 Docker 安装 你可使用 `-e KEY=VALUE` 或 `--env KEY=VALUE`将环境变量传给 Rancher 容器。在 [Docker 安装](../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md)中,`NO_PROXY` 必须的值为: - `localhost` - `127.0.0.1` - `0.0.0.0` - `10.0.0.0/8` - `cattle-system.svc` - `.svc` - `.cluster.local` 以下示例中,代理服务器可以通过 `http://192.168.0.1:3128` 访问。此外,在访问 `192.168.10.0/24` 网络范围以及 `example.com` 域名下的每个主机名时均不使用代理服务器。 ``` docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ -e HTTP_PROXY="http://192.168.10.1:3128" \ -e HTTPS_PROXY="http://192.168.10.1:3128" \ -e NO_PROXY="localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,cattle-system.svc,192.168.10.0/24,.svc,.cluster.local,example.com" \ --privileged \ rancher/rancher:latest ``` 特权访问是[必须](../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。 ### 离线代理配置 _v2.6.4 的新功能_ 你现在可以在配置的离线集群中配置主机驱动集群,以使用代理进行出站连接。 除了如上为代理服务器设置默认规则外,你还需要额外添加如下所示的规则,以从代理的 Rancher 环境中配置主机驱动集群。 根据你的设置配置文件路径,例如 `/etc/apt/apt.conf.d/proxy.conf`: ``` acl SSL_ports port 22 acl SSL_ports port 2376 acl Safe_ports port 22 # ssh acl Safe_ports port 2376 # docker port ```