4

我在配置我使用 HTTP/Apache 提供的 Yum 存储库时遇到了问题。

我想使用 http 基本身份验证,并将侦听端口设置为 80 以外的端口,因为这个 repo 在我的 DMZ 中。我试图通过如下设置我的 baseurl 来做到这一点(来自我的 repo 文件):

baseurl=http://user:password@<my-ip>:<my-non-80-port>/yum/RHEL/7/base/$basearch/

yum.conf 的文档表明您可以通过将用户名/密码添加到 URL 来进行基本的 http 身份验证,就像我在上面所做的那样。当我尝试yum search mysql从客户端执行操作时出现以下错误:

[Errno 14] HTTP Error 401: Authorization Required

这向我表明,指定端口的额外“:”混淆了 yum 对我的 url 的解析。我删除了端口,将服务器设置回端口 80,它就可以工作了。

因此,您似乎无法进行基本的 http 身份验证并更改 Web 服务器侦听的端口号。我注意到新版本的 Yum 中有usernamepassword指令,但我的版本似乎没有这个指令(我正在运行 yum-3.2.22-37.0.1.el5)。有什么解决方法吗?

4

1 回答 1

0

我通过在我的 yum 配置中添加以下行来关闭插件来解决这个问题。

plugins=0

我认为解决方法有效,因为基本 yum 更新程序可以很好地处理来自 baseurl 的授权信息,但是一些插件(例如 fastmirror 插件)没有正确记住授权。因此,我在未启用插件的情况下的行为是,最初更新会起作用,然后它会开始失败,并出现问题中的授权错误。一旦我禁用插件,一切都开始正常工作。

于 2012-08-21T03:03:51.540 回答