第 13 章 更改代理设置


RHUI 可以使用代理服务器来同步红帽内容。如果在安装 RHUI 时没有指定代理服务器,则不使用任何代理服务器。否则,此代理服务器会与您添加的所有 RHUI 软件仓库一起使用。本章论述了如何更改代理服务器配置。

如果要:

  • 在没有代理服务器配置的 RHUI 环境中开始使用代理服务器
  • 编辑当前的代理服务器配置,例如,如果服务器主机名已更改
  • 停止使用安装 RHUI 环境的代理服务器

流程

可通过两种方式配置(或未配置)代理服务器设置。

  • 第一个选项:重新运行安装程序以更新全局 RHUI 工具配置和回答文件:

    rhui-installer --rerun --proxy-protocol <PROTOCOL> \
                           --proxy-hostname <HOSTNAME> \
                           --proxy-port <PORT> \
                           --proxy-username <USERNAME> \
                           --proxy-password <PASSWORD>
    Copy to Clipboard Toggle word wrap
  • 第二个选项:创建(或编辑)本地覆盖文件 /root/.rhui/rhui-tools-custom.conf,使其包含:

    [proxy]
    proxy_protocol: <PROTOCOL>
    proxy_host: <HOSTNAME>
    proxy_port: <PORT>
    proxy_user: <USERNAME>
    proxy_pass: <PASSWORD>
    Copy to Clipboard Toggle word wrap
    注意

    这个选项是在 RHUI 4.11 中引入的。

    在这两种情况下,参数如下:

    • 如果配置代理服务器,PROTOCOLhttphttps ;如果未配置它:

      • 如果重新运行安装程序,请不要使用 --proxy-protocol 参数
      • 如果使用本地文件,请将该值留空
    • HOSTNAME 是新的代理服务器主机名;如果清除配置:

      • 如果重新运行安装程序,请在双引号中使用空字符串("")
      • 如果使用本地文件,请将该值留空
    • PORT 是代理服务器正在侦听的 TCP 端口,通常为 3128 ;如果清除配置:

      • 如果重新运行安装程序,请不要使用 -proxy-port 参数
      • 如果使用本地文件,请将该值留空
    • USERNAME 是一个可选参数。仅在代理服务器需要凭证时才使用它。如果没有或者您要清除配置:

      • 如果重新运行安装程序,请使用 ""
      • 如果使用本地文件,请将值留空,或者根本不使用 proxy_user: 选项
    • PASSWORD ditto.

      示例:

    • 开始使用代理服务器,此服务器不需要凭证。

      • 使用安装程序:

        rhui-installer --rerun --proxy-protocol http --proxy-hostname squid.example.com --proxy-port 3128
        Copy to Clipboard Toggle word wrap
      • 使用本地文件:

        [proxy]
        proxy_host: squid.example.com
        proxy_protocol: http
        proxy_port: 3128
        Copy to Clipboard Toggle word wrap
    • 更改代理服务器主机名,其他所有主机名都保持不变。

      • 使用安装程序:

        rhui-installer --rerun --proxy-hostname newsquid.example.com
        Copy to Clipboard Toggle word wrap
      • 使用本地文件:

        [proxy]
        proxy_host: newsquid.example.com
        Copy to Clipboard Toggle word wrap
    • 停止使用代理服务器。

      • 使用安装程序:

        rhui-installer --rerun --proxy-hostname ""
        Copy to Clipboard Toggle word wrap
      • 使用本地文件:

        [proxy]
        proxy_protocol:
        proxy_host:
        proxy_port:
        Copy to Clipboard Toggle word wrap
        重要

        这个新配置只会影响在配置更新后添加的红帽软件仓库。要将这个新配置应用到现有存储库,需要删除、添加和重新同步存储库。

        这将导致在您删除时持续出现停机,直到您重新同步它们。但是,已经同步的软件包不必从 Red Hat CDN 重新下载。RHUI 主要需要解析所有 repodata 文件,并确定哪个软件包属于什么位置。这可能需要长达几个小时。

        虽然 rhui-manager 之外存在技术意味着,可以对现有存储库修改代理字段,而是针对使用此类 方法的所谓的远程方式进行修改。

  • 请确定您有一个仓库的列表(或列表),以便您可以再次添加它们。如果没有这样的列表,您可以使用 rhui-manager 生成包含所有当前添加的红帽存储库的文件。

    要生成红帽软件仓库列表,首先每行创建一个 ID 的原始列表:

    rhui-manager --noninteractive repo list --redhat_only --ids_only > /root/rawlist
    Copy to Clipboard Toggle word wrap
  • 然后,使用存储库创建 YAML 文件。首先创建一个存根:

    echo -e "name: all Red Hat repositories\nrepo_ids:" > /root/repo_list.yml
    Copy to Clipboard Toggle word wrap
  • 接下来,将原始列表中的存储库作为 YAML 列表项附加:

    sed "s/^/  - /" /root/rawlist >> /root/repo_list.yml
    Copy to Clipboard Toggle word wrap
  • 从您的 RHUI 中删除所有红帽软件仓库:

    使用文本用户界面,或者通过命令行删除它们。对于后者,您可以使用之前创建的原始列表:

    while read repo; do rhui-manager --noninteractive repo delete --repo_id $repo; done < /root/rawlist
    Copy to Clipboard Toggle word wrap
    注意

    在异步后台任务中删除存储库:排队并执行可用的 Pulp worker。可能需要十分钟或小时时间来实际删除所有存储库。请耐心等待。

  • 删除存储库后,重新添加它们。这一次将使用新的代理设置(或使用代理 URL)添加它们。还必须重新同步存储库。您可以在命令行中在一个步骤中添加和重新同步它们:

    rhui-manager --noninteractive repo add_by_file --file /root/repo_list.yml --sync_now
    Copy to Clipboard Toggle word wrap

    或者,使用您自己的方法同步存储库,例如按照特定顺序进行同步。最后,您还可以等待同步自动启动:在 6 小时内或在 /etc/rhui/rhui-tools.conf 中定义为 repo_sync_frequency 的其他时间。

    重要

    在任何情况下,存储库不会同时可用。

验证

rhui-manager 工具不会显示与存储库一起使用的代理服务器的信息。但是,您可以使用 pulpcore-manager 工具,如下所示:

env PULP_SETTINGS=/etc/pulp/settings.py /usr/bin/pulpcore-manager shell << EOM
from pulpcore.app.models import Remote
rem = Remote.objects.get(name="rhel-8-for-x86_64-baseos-rhui-rpms-8")
print(rem.proxy_url)
EOM
Copy to Clipboard Toggle word wrap

输出应该类似于对于配置的代理服务器:

http://squid.example.com:3128
Copy to Clipboard Toggle word wrap

如果没有使用指定存储库配置代理服务器,则为 None

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat