在代理后运行buildout时,下载错误,主机名<proxy>与'*.c.ssl.fastly.net'不匹配
我正在尝试构建一个使用 Buildout 的项目,但我在一个代理后面,遇到了主机名验证的问题。我找不到问题的根源,因为给 buildout
命令传递多个 -v
选项似乎并没有增加输出的详细程度。我在 http://www.buildout.org/en/latest/docs/index.html(这是版本 1.2.1!?)和 https://pypi.python.org/pypi/zc.buildout/2.2.1 上也没有找到关于 buildout 和代理的交互信息。
pdobrogost@host:~/projects/projectx/projectx_buildout$ python bootstrap.py -c buildout-devel.cfg
Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
Getting distribution for 'setuptools'.
/opt/python/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'src_root'
warnings.warn(msg)
Got setuptools 5.7.
Getting distribution for 'zc.buildout==1.4.3'.
Got zc.buildout 1.4.3.
pdobrogost@host:~/projects/projectx/projectx_buildout$ ./bin/buildout -vNc buildout-devel.cfg custom:cvsuser=pdobrogost
Installing 'mr.developer'.
We have no distributions for mr.developer that satisfies 'mr.developer'.
Download error on http://pypi.python.org/simple/mr.developer/: hostname 'proxy.site.local' doesn't match either of '*.c.ssl.fastly.net', 'c.ssl.fastly.net', '*.target.com', '*.vhx.tv', '*.snappytv.com', '*.atlassian.net', 'secure.lessthan3.com', '*.atlassian.com', 'a.sellpoint.net', 'cdn.upthere.com', '*.tissuu.com', '*.issuu.com', '*.kekofan.com', '*.python.org', '*.theverge.com', '*.sbnation.com', '*.polygon.com', '*.twobrightlights.com', '*.2brightlights.info', '*.vox.com', 'staging-cdn.upthere.com', '*.zeebox.com', '*.beamly.com', '*.aticpan.org', 'stream.svc.7digital.net', 'stream-test.svc.7digital.net', '*.articulate.com', 's.t.st', 'vid.thestreet.com', '*.planet-labs.com', '*.url2png.com', 'turn.com', 'www.turn.com', 'rivergathering.org', 'social.icfglobal2014-europe.org', '*.innogamescdn.com', '*.pathable.com', '*.staging.pathable.com', '*.kickstarter.com', 'sparkingchange.org', 'www.swedavia.se', 'www.swedavia.com', 'js-agent.newrelic.com', '*.fastly-streams.com', 'cdn.brandisty.com', 'fastly.hightailcdn.com', '*.fl.yelpcdn.com', '*.feedmagnet.com', 'api.contentbody.com', '*.acquia.com', '*.swarmapp.com', '*.pypa.io', 'pypa.io', 'static.qbranch.se', '*.krxd.net', '*.room.co', '*.metrological.com', 'room.co', 'cdn.evbuc.com', 'cdn.adagility.com', '*.bandpage.com', '*.ibmserviceengage.com', '*.quirky.com', '*.veez.co', '*.x.io', '*.otoycdn.net', '*.scribd.com', 'www.dwin1.com', 'api.imgur-ysports.com', 'i.imgur-ysports.com', '*.fxcm.co.jp', 'listora.com', '*.listora.com', 'blendle.nl', '*.blendle.nl', '*.modeanalytics.com', 'modeanalytics.com', 'krux.com', '*.krux.com', '*.udemy.com', '*.1stdibs.com', 'api.keep.com', 'www.piriform.com', '*.ustream.tv', 'www.zimbio.com', 'm.zimbio.com', 'www.stylebistro.com', 'm.stylebistro.com', 'm.lonny.com', 'www.lonny.com', 'assets.trabiancdn.com', '*.socialchorus.com', '*.heritagestatic.com', '*.theoutbound.com', 'img.rakuten.com', 'images.rakuten.com', 'img1.r10.io', 'ast1.r10.io', 'scribd.com' -- Some packages may not be found!
Couldn't find index page for 'mr.developer' (maybe misspelled?)
Download error on http://pypi.python.org/simple/: hostname 'proxy.site.local' doesn't match either of '*.c.ssl.fastly.net', 'c.ssl.fastly.net', '*.target.com', '*.vhx.tv', '*.snappytv.com', '*.atlassian.net', 'secure.lessthan3.com', '*.atlassian.com', 'a.sellpoint.net', 'cdn.upthere.com', '*.tissuu.com', '*.issuu.com', '*.kekofan.com', '*.python.org', '*.theverge.com', '*.sbnation.com', '*.polygon.com', '*.twobrightlights.com', '*.2brightlights.info', '*.vox.com', 'staging-cdn.upthere.com', '*.zeebox.com', '*.beamly.com', '*.aticpan.org', 'stream.svc.7digital.net', 'stream-test.svc.7digital.net', '*.articulate.com', 's.t.st', 'vid.thestreet.com', '*.planet-labs.com', '*.url2png.com', 'turn.com', 'www.turn.com', 'rivergathering.org', 'social.icfglobal2014-europe.org', '*.innogamescdn.com', '*.pathable.com', '*.staging.pathable.com', '*.kickstarter.com', 'sparkingchange.org', 'www.swedavia.se', 'www.swedavia.com', 'js-agent.newrelic.com', '*.fastly-streams.com', 'cdn.brandisty.com', 'fastly.hightailcdn.com', '*.fl.yelpcdn.com', '*.feedmagnet.com', 'api.contentbody.com', '*.acquia.com', '*.swarmapp.com', '*.pypa.io', 'pypa.io', 'static.qbranch.se', '*.krxd.net', '*.room.co', '*.metrological.com', 'room.co', 'cdn.evbuc.com', 'cdn.adagility.com', '*.bandpage.com', '*.ibmserviceengage.com', '*.quirky.com', '*.veez.co', '*.x.io', '*.otoycdn.net', '*.scribd.com', 'www.dwin1.com', 'api.imgur-ysports.com', 'i.imgur-ysports.com', '*.fxcm.co.jp', 'listora.com', '*.listora.com', 'blendle.nl', '*.blendle.nl', '*.modeanalytics.com', 'modeanalytics.com', 'krux.com', '*.krux.com', '*.udemy.com', '*.1stdibs.com', 'api.keep.com', 'www.piriform.com', '*.ustream.tv', 'www.zimbio.com', 'm.zimbio.com', 'www.stylebistro.com', 'm.stylebistro.com', 'm.lonny.com', 'www.lonny.com', 'assets.trabiancdn.com', '*.socialchorus.com', '*.heritagestatic.com', '*.theoutbound.com', 'img.rakuten.com', 'images.rakuten.com', 'img1.r10.io', 'ast1.r10.io', 'scribd.com' -- Some packages may not be found!
Getting distribution for 'mr.developer'.
While:
Installing.
Loading extensions.
Getting distribution for 'mr.developer'.
Error: Couldn't find a distribution for 'mr.developer'.
我的代理设置如下:
pdobrogost@host:~/projects/projectx/projectx_buildout$ env | grep proxy
http_proxy=http://proxy.site.local:8080
https_proxy=http://proxy.site.local:8080
no_proxy=localhost,127.0.0.1,.site.local,192.168.*
另外,buildout-devel.cfg
文件扩展了 buildout.cfg
,其中指定了以下版本:
[versions]
zc.buildout = 1.4.3
zc.recipe.egg = 1.2.2
为了比较,使用 wget
时我得到了这个:
pdobrogost@host:~/projects/projectx/projectx_buildout$ wget http://pypi.python.org/simple/mr.developer
--2014-09-05 10:56:20-- http://pypi.python.org/simple/mr.developer
Resolving proxy.site.local... 192.168.10.132
Connecting to proxy.site.local|192.168.10.132|:8080... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: https://pypi.python.org/simple/mr.developer [following]
--2014-09-05 10:56:20-- https://pypi.python.org/simple/mr.developer
Connecting to proxy.site.local|192.168.10.132|:8080... connected.
ERROR: certificate common name “*.c.ssl.fastly.net” doesn’t match requested host name “pypi.python.org”.
To connect to pypi.python.org insecurely, use ‘--no-check-certificate’.
2 个回答
你可以尝试使用http,方法是选择一个支持http的不同镜像,具体可以参考这个指南 -- http://jacobian.org/writing/when-pypi-goes-down/
对于buildout,你需要将以下内容添加为全局声明
[global]
index-url = http://pypi.python.org/simple
不过,主要的问题是,pypi.python.org现在只支持https,即使你使用http,它也会把你重定向到https的网站。所以,唯一的解决办法就是在外面创建一个镜像,通过http来提供pypi的内容。
我不确定这是否直接相关,但我在寻找我问题的答案时看到了你的帖子。看起来某些版本的Python(比如我用的3.4)在通过代理安装依赖时可能会出现问题。这个问题似乎和这个链接有关:(https://github.com/shazow/urllib3/pull/385)。看起来buildout脚本也可能遇到了同样的问题?
在我的情况下,我只用pip来安装,所以我手动安装了每个依赖。你可以继续用pip安装主包,当它失败并提示找不到某个包时,就用pip单独安装那个包,然后再试一次。