Red Hat 注册成功,但 DNF 通过代理下载失败
在 Red Hat 系统上区分订阅注册、仓库访问及各自的代理设置。
注册成功只说明订阅服务可以访问。DNF 仓库元数据与软件包下载可能使用不同的设置和主机名,因此先看仓库 ID、实际生效的 URL 以及失败操作的第一个错误。
对 subscription-manager 来说,/etc/rhsm/rhsm.conf 的 server 段使用独立字段:
[server]
proxy_hostname = proxy.example.net
proxy_port = 8080
proxy_user = service-account
proxy_password = REPLACE_WITH_MANAGED_SECRET
在现有配置中原位替换这些值,并保护保存真实密码的文件。proxy_hostname 接收的是主机名,而不是带凭据的完整 URL。
对 DNF,检查受影响的仓库和主配置。其 proxy 选项是一个 URL;proxy_username、proxy_password 和 proxy_auth_method 是独立选项。仓库可以覆盖全局值。缺少代理选项时可能允许从环境读取,而显式空值则会关闭该段已配置的父级值。以所安装的 DNF 世代的参考文档为准。对 DNF 4,把仓库继承与环境绕过规则分开看。
如果仓库文件由订阅工具生成,编辑前先确认归属。刷新时会被覆盖的改动应写进受支持的配置源,而不是反复修补输出文件。
然后对第一个失败分类。到代理的连接先于两个服务各自的账号检查。407 要求代理认证;TLS 错误与失败连接的信任有关;源站拒绝则与订阅或仓库访问有关。软件包 CDN 的主机可能与注册主机不同,所以针对其中一方的白名单不能证明能访问另一方。
每次对比都记录实际生效的端点、选用的代理和账号标识,不要带上机密。较旧的 rhn_register 与 /etc/sysconfig/rhn/up2date 配方描述的是另一代工具,不能用来判断当前 RHSM 或 DNF 请求的设置。