Rubygems Bad Request 400用于在Amazon S3上托管的规范文件

时间:2011-03-29 07:24:07

标签: ruby rubygems amazon-s3 nat bad-request

当尝试安装gem时,我在尝试从production.s3.rubygems.org获取specs文件时遇到“Bad Request 400”错误。所有Ruby和Rubygems版本的问题都是一样的。

系统在VMWare ESX托管的Ubuntu 10.10上运行,在NAT交换机后面有桥接网络(Linux - > ESX - > Intranet - > NAT)。我有一个相同的系统在类似网络上的不同ESX上运行,运行正常(Linux - > ESX - > Intranet - >透明企业防火墙+代理)。 Apt-get和其他网络正常工作。

有没有办法解决这个问题,还是我必须手动下载所有宝石?

# ping production.s3.rubygems.org
PING s3-1-w.amazonaws.com (72.21.202.165) 56(84) bytes of data.
64 bytes from 72.21.202.165: icmp_req=1 ttl=242 time=139 ms

# gem install -V nokogiri
GET http://rubygems.org/latest_specs.4.8.gz
302 Found
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
400 Bad Request
HEAD http://rubygems.org/specs.4.8.gz
302 Found
HEAD http://production.s3.rubygems.org/specs.4.8.gz
400 Bad Request
HEAD http://rubygems.org/yaml
302 Found
HEAD http://production.s3.rubygems.org/yaml
400 Bad Request
ERROR:  http://rubygems.org/ does not appear to be a repository
Error fetching remote data:             bad response Bad Request 400     (http://production.s3.rubygems.org/yaml)
Falling back to local-only install
ERROR:  Could not find a valid gem 'nokogiri' (>= 0) in any repository

1 个答案:

答案 0 :(得分:0)

解决:

1)下载并将http://production.s3.rubygems.org/specs.4.8.gz复制到主机自己的www-root

2)将127.0.0.1 production.s3.rubygems.org添加到/ etc / hosts