Vagrant无法通过HTTP Basic Auth访问盒子

4
Vagrant up可以通过http://devops.example.com/vagrant.box访问和下载我放置在我的主机上的Vagrant box。但是,我不希望我的box公开,想要使用HTTP Basic Auth来保护它。当我打开Basic Auth并执行'vagrant up'时,Vagrant返回401错误消息。
如何配置Vagrant,以便它可以通过Basic Auth访问box?
提前感谢, 干杯!
1个回答

6

对于HTTP基本身份验证,您可以执行以下操作(从Vagrant 1.8开始)

vagrant box add <box> http://user:pass@devops.example.com/vagrant.box

在一些较旧的Vagrant版本中,以下内容是有效的。
vagrant box add <box> http://devops.example.com/vagrant.box -u user:pass

如果你在 vagrantcloud 分发你的虚拟机,你可以启用更好的认证功能。你可以查看 https://atlas.hashicorp.com/help/vagrant/boxes/distributing 进一步了解。


感谢您的帮助。让我尝试这个概念,因为我正在使用映射JSON文件指令的Vagrant文件,其中我有 "url": "http://devops.example.com/vagrant.box"。如果可以,我会告诉您结果的。 - Vadim Zolotokrylin
似乎不再起作用了:“指定了无效选项。” - static_rtti
@static_rtti 你尝试了两个选项吗? - Frederic Henri
哦,我刚看到你的第二个选项,它有效。我认为你应该移除第一个。 - static_rtti
@static_rtti 是的,它在一些旧版本的Vagrant中仍然可以工作,但我不确定他们停止支持它的确切时间。 - Frederic Henri
使用 http://user:pass@hostname/boxname.box 的方法适用于 Vagrant 1.8.6。然而,与 vagrant 的 rfc3986_parser.rb 不兼容的特殊字符会导致下载 URI 无法识别。在我的情况下,包含 / 字符的密码会导致功能失效。不确定这是否是一个错误或者想要的行为。 - Metin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接