配置代理认证
您可以配置 Kubernetes k3s 环境和 Edge Gateway 实例,以在网络需要代理以连接到诸如 quay.io
和数据源之类的站点时使用代理服务器。 如果需要认证,您需要知道代理服务器设置,如 DNS 名称、IP 地址和帐户名称。
您的代理服务器必须同时支持 HTTP 和STOMP协议。
为一个组件配置代理服务器的连接并不会为其他任何组件配置此连接。 配置代理设置时,需要单独配置以下组件:
- Kubernetes k3s 环境。
- Edge Gateway的每个实例。
- 需要连接到代理服务器的每个数据源。
必须使用 sudo
才能完成此任务。 以 appadmin
用户身份登录,并完成以下步骤来配置 Kubernetes k3s 环境:
- 在托管 Edge Gateway的系统上,编辑文件 /etc/systemd/system/k3s.service.env 并设置以下环境变量:
HTTP_PROXY=<proxy> HTTPS_PROXY=<proxy info> NO_PROXY=<localhost and other IPs that do not need proxy>
<proxy info>
格式为 http://<user>:<password>@<domain or IP address>:<port> ,其中<user>
和<password>
是 URL 编码字符串。例如:HTTP_PROXY=http://proxy.corp.com:8080 HTTPS_PROXY=http://proxy.corp.com:8080 NO_PROXY=localhost,127.0.0.1,localaddress,corp.com,10.0.0.0/8
以下示例显示了假定用户名为user1
且密码为p@ssword
的代理认证:HTTP_PROXY=http://user1:p%40ssword@proxy.corp.com:8080 && HTTPS_PROXY=http://user1:p%40ssword@proxy.corp.com:8080 && NO_PROXY=localhost,127.0.0.1,localaddress,corp.com,10.0.0.0/8
注意: HTTP_PROXY和HTTPS_PROXY是重定向,因此您可以将HTTPS_PROXY重定向到 HTTPS 流量到 HTTP URL。 - 更新系统的 cacerts 以信任来自代理本身的 CA 证书,方法是将 PEM 编码的证书添加到
/etc/pki/ca-trust/source/anchors
,然后运行:sudo update-ca-trust
- 重新启动 Kubernetes K3s:
sudo systemctl restart k3s
- 重新启动完成后,输入以下命令以列出所有系统容器。 验证其状态是
Running
还是Completed
。sudo kubectl get pods -n kube-system
重要信息: 如果在 Edge Gateway 和 平台之间使用代理服务器,请使用
--https-proxy-url
选项。 如果 HTTP 和 HTTPS 代理相同,那么可以将 --https-from-http
与 --http-proxy-url
配合使用。 --http-proxy-url
本身不受支持。如果在 Edge Gateway 和 平台之间使用 --no-proxy
选项,请在 app.config 文件中指定标准域名 (FQDN) 或指定为主机的 IP 地址。 仅在 Edge Gateway 和 平台之间不支持通配符和 IP 地址范围。
完成以下操作以配置 Edge Gateway的每个实例的代理设置。 在配置与代理服务器的连接之前,必须对 Edge Gateway 进行配对。
- 如果 您已安装 Edge Gateway,那么可以使用以下命令将 Edge Gateway 配置为通过代理进行连接。
manageAppHost proxy --http-proxy-url <http://URL:port# of proxy>
如果需要代理认证,请改为输入以下命令。 系统将提示您输入代理密码。manageAppHost proxy --http-proxy-url <http://URL:port# of proxy> --proxy-user <user>
如果系统上存在多个成对的 Edge Gateway ,那么系统会提示您选择要配置的 Edge Gateway 。
- 如果 您尚未安装 Edge Gateway,那么可以按如下所示输入代理设置:
manageAppHost install --http-proxy-url <http://URL:port# of proxy>
如果需要代理认证,请改为输入以下命令(系统将提示您输入代理密码):manageAppHost install --http-proxy-url <http://URL:port# of proxy> --proxy-user <user>
如果需要清除代理设置,请使用以下命令:
manageAppHost proxy --clear