2

我有一个工作的流浪虚拟机我想分享。在我的 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

控制台中没有任何其他有用的消息,知道如何调试吗?

谢谢

4

1 回答 1

1

Replace this line

config.vm.network "forwarded_port", guest: 443, host: 443

with i.e.

config.vm.network "forwarded_port", guest: 443, host: 8443

first, because forwarded_port is for accessing from your host and second, you should not be able to bind to port 443 on host.

Also

vagrant share --https 443

is redundant (docs):

HTTPS (SSL)

Vagrant Share can also expose an SSL port that can be accessed over SSL. For example, instead of accessing http://foo.vagrantshare.com, it could be accessed at https://foo.vagrantshare.com.

vagrant share by default looks for any SSL traffic on port 443 in your development environment. If it cannot find any, then SSL is disabled by default.

so

vagrant share

should suffice (assuming there's no other issue).

于 2017-01-31T14:15:37.523 回答