我有一个正在工作的流浪虚拟机,我想分享。在我的 Vagrantfile 中我有:
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.1.15"
config.vm.network "forwarded_port", guest: 443, host: 443
在我的虚拟主机中
<VirtualHost *:443>
...
ServerAlias *.vagrantshare.com
....
</Virtualhost>
不确定第一行,但它已经在那里了
我与
共用机器vagrant share --https 443
这是输出:
==> default: Detecting network information for machine...
default: Local machine address: 127.0.0.1
default:
default: Note: With the local address (127.0.0.1), Vagrant Share can only
default: share any ports you have forwarded. Assign an IP or address to your
default: machine to expose all TCP ports. Consult the documentation
default: for your provider ('virtualbox') for more information.
default:
default: Local HTTP port: 8080
default: Local HTTPS port: 443
default: Port: 2222
default: Port: 443
default: Port: 8080
==> default: Checking authentication and authorization...
==> default: Creating Vagrant Share session...
default: Share will be at: towering-badger-9312
==> default: Your Vagrant Share is running! Name: towering-badger-9312
==> default: URL: http://towering-badger-9312.vagrantshare.com
==> default:
==> default: You're sharing your Vagrant machine in "restricted" mode. This
==> default: means that only the ports listed above will be accessible by
==> default: other users (either via the web URL or using `vagrant connect`).
我可以在 vagrant cloud 中看到它,但在尝试通过 https 访问它时出现错误:
towering-badger-9312.vagrantshare.com is currently unable to handle this request.
HTTP ERROR 500
控制台中没有任何其他有用的消息,知道如何调试它吗?
谢谢
您需要更换此线
config.vm.network "forwarded_port", guest: 443, host: 443
即:
config.vm.network "forwarded_port", guest: 443, host: 8443
首先,因为
forwarded_port
用于从 host
进行端口访问,其次,无论如何,您将无法绑定到主机上的端口 443,除非 Vagrant 由于绑定到端口 < 1023 require root privileges. This is also documented in Vagrant docs here 而以 root 身份运行。
还有
vagrant share --https 443
是多余的(docs):
HTTPS(SSL)
Vagrant Share 还可以公开可通过以下方式访问的 SSL 端口: SSL。例如,不是访问 http://foo.vagrantshare.com,而是访问 可以通过 https://foo.vagrantshare.com.
访问vagrant share 默认情况下会在您的端口 443 上查找任何 SSL 流量 开发环境。如果找不到任何内容,则 SSL 已禁用 默认情况下。
所以
vagrant share
应该足够了(假设没有其他问题)。