第 4 章 在公司代理后面运行 Red Hat Developer Hub
在网络受限环境中,将 Red Hat Developer Hub 配置为使用代理访问远程网络资源。
您可以在启动应用程序前设置以下任意环境变量,在企业代理后面运行 Developer Hub 应用程序:
HTTP_PROXY
- 表示用于 HTTP 请求的代理。
HTTPS_PROXY
- 表示用于 HTTPS 请求的代理。
NO_PROXY
- 将环境变量设置为绕过特定域的代理。变量值是一个以逗号分隔的主机名或 IP 地址列表,无需代理即可访问,即使指定了代理也是如此。
4.1. 了解 NO_PROXY
排除规则
NO_PROXY
是主机名或 IP 地址的逗号分隔列表,带有可选的端口号。如果输入 URL 与 NO_PROXY
中列出的任何条目匹配,则直接请求获取该 URL,例如绕过代理设置。
注意
RHDH 中的 NO_PROXY
的默认值为 localhost,127.0.0.1
。如果要覆盖它,请在列表中至少包含 localhost
或 localhost:7007
。否则,RHDH 后端可能会失败。
匹配遵循以下规则:
-
NO_PROXY
swig 将绕过所有请求的代理。 -
空格和逗号可以分隔
NO_PROXY
列表中的条目。例如:NO_PROXY="localhost,example.com"
或NO_PROXY="localhost example.com"
, 或NO_PROXY="localhost, example.com"
将具有相同的效果。 -
如果
NO_PROXY
不包含条目,配置HTTP (S)_PROXY
设置会导致后端通过代理发送所有请求。 -
后端不会执行 DNS 查找来确定请求是否应该绕过代理。例如,如果 DNS 将
example.com
解析为1.2.3.4
,设置NO_PROXY=1.2.3.4
不会影响发送到example.com
的请求。只有发送到 IP 地址1.2.3.4
的请求才会绕过代理。 -
如果在主机名或 IP 地址后添加端口,请求必须与 host/IP 和端口匹配,才能绕过代理。例如:
NO_PROXY=example.com:1234
会将请求的代理绕过到http (s)://example.com:1234
,但不用于其他端口上的请求,如http (s)://example.com
。 -
如果您没有在主机名或 IP 地址后指定端口,则到该主机/IP 地址的所有请求都将绕过代理,而不考虑端口。例如,
NO_PROXY=localhost
将绕过发送到 URL 的请求的代理,如http (s)://localhost:7077
和http (s)://localhost:8888
。 -
CIDR 标记中的 IP 地址块无法正常工作。因此,设置
NO_PROXY=10.11.0.0/16
不会有任何效果,即使后端向该块中的 IP 地址发送请求。 -
仅支持 IPv4 地址。
::1
等 IPv6 地址将无法正常工作。 -
通常,只有在主机名与
NO_PROXY
列表中的条目完全匹配时才会绕过代理。唯一的例外是以句点(.
)或通配符(*
)开头的条目。在这种情况下,如果主机名以 条目结尾,则绕过代理。
注意
如果要排除给定域及其所有子域,请列出域和通配符域。例如,您可以设置 NO_PROXY=example.com,.example.com
以绕过发送到 http (s)://example.com
和 http (s)://subdomain.example.com
的请求的代理。