建议在映像中设置代理,且只设置 system-repository 服务代理。应在运行 pkg 命令时在环境中设置 https_proxy 和 http_proxy。
本节中的过程用于在不直接连接到 IPS 发布者系统信息库的内部子网中设置 system-repository 服务代理。使用此过程可覆盖使用 pkg 命令在全局区域中配置的代理。非全局区域通过 HTTP 与 system-repository 通信。system-repository 然后按照全局区域中的配置,使用该系统信息库的访问协议访问发布者。
此配置还允许 solaris 非全局区域联系全局区域中的发布者集。递归到 solaris 区域的 pkg 操作将会成功。
示例 9-3 使用 https_proxy 和 http_proxy 覆盖全局区域代理例如,假设运行 solaris 非全局区域的系统上的软件由 IPS 管理,且该软件需要使用代理服务器 http_proxy=http:// 129.156.243.243:3128 来访问 http 和 https URL。以下步骤显示了如何使用 http_proxy 和 https_proxy 环境变量和 SMF 服务属性来允许全局区域和非全局区域访问 IPS 系统信息库。
请注意,这些变量会覆盖在源上设置的代理配置,除非用户从连接到系统发布者的统一资源标识符 (Universal Resource Identifier, URI) 的非全局区域运行 pkg 命令。在这种情况下,该命令会遍历 system-repository。
还可以使用可解析的主机名。
在 shell 中键入以下行,为全局区域设置代理:
# export http_proxy=http://129.156.243.243:3128 # export https_proxy=http://129.156.243.243:3128
设置代理可允许 pkg 命令通过代理服务器访问发布者。这会影响使用 https 或 http URL 而不通过 system-repository 访问全局区域的 pkg 操作。
要允许系统上的 solaris 区域使用所配置的可从全局区域直接访问的系统发布者,请执行以下命令:
# svccfg -s system-repository:default setprop config/http_proxy = http://129.156.243.243:3128 # svccfg -s system-repository:default setprop config/https_proxy = http://129.156.243.243:3128
要使更改在实时 SMF 系统信息库中生效,请运行:
# svcadm refresh system-repository
要确认设置是否正常工作,请运行:
# svcprop -p config/http_proxy system-repository # svcprop -p config/https_proxy system-repository
有关 pkg 命令的更多信息,请参见 pkg(1) 手册页。