yum repo 的 url 中带有 cntlm 代理和基本身份验证参数的空服务器响应

Posted

技术标签:

【中文标题】yum repo 的 url 中带有 cntlm 代理和基本身份验证参数的空服务器响应【英文标题】:Empty server response with cntlm proxy and basic auth params in url for yum repo 【发布时间】:2017-05-18 22:33:06 【问题描述】:

我在需要身份验证的公司代理后面的 CentOs 7 服务器上使用 cntlm 代理。

这是我的 cntlm.conf 文件:

Username    user
Domain      dom
Auth        NTLMv2
PassNTLMv2  **********

Proxy       corporateproxy:8080
NoProxy     localhost, 127.0.0.*, 10.*, 192.168.*, 172.*, *.local

Listen      0.0.0.0:3128

一切正常,除了需要基本身份验证的 yum 仓库:

[datastax-cassandra]
name=datastax-cassandra
humanname=DataStax Repo for DataStax Enterprise
baseurl= http://auser@mail.com:s6pZ4cjORRAqDhG@rpm.datastax.com/entreprise
gpgcheck=0
enabled=1

运行时

repoquery --plugins --queryformat '%NAME_|-%VERSION_|-%RELEASE_|-%ARCH_|-%REPOID'   --pkgnarrow=available selinux-policy-devel policycoreutils-python

我明白了:

Could not match packages: failure: repodata/repomd.xml from datastax-cassandra: [Errno 256] No more mirrors to try.
http://auser@email.com:s6pZ4cjORRAqDhG@rpm.datastax.com/enterprise/repodata/repomd.xml: [Errno 14] curl#52 - "Empty reply from server"

对于任何其他不需要基本身份验证的镜像服务器,一切正常。

有什么想法(cntlm 配置,yum repo 配置,...)?

【问题讨论】:

【参考方案1】:

cntlm 有一个支持 Basic HTTP Auth 的补丁;看 cntlm-0.35.1 modified to support Basic HTTP Auth with HTTPAUTH parameter

【讨论】:

感谢您的回答!希望我不再使用公司防火墙,因此我无法测试此补丁并验证您的答案,但我相信其他人会这样做!

以上是关于yum repo 的 url 中带有 cntlm 代理和基本身份验证参数的空服务器响应的主要内容,如果未能解决你的问题,请参考以下文章

如何克隆文件名中带有冒号的文件

centos 6.9 yum工具的使用

为啥 CNTLM 要求输入密码?

2.4 yum命令

yum安装软件报错

在带有 CNTLM 的代理后面使用 pip