0

我正在使用 Vagrant 来管理 Ubuntu 实例以测试 Web 应用程序。我无法通过 https 设置其登录页面。由于应用程序使用的是 Apache2+php5+mysql。我已经像这样设置端口转发以从主机访问应用程序。

config.vm.network :forwarded_port, guest: 80, host: 8080

当我尝试使用访客访问时http://localhost:8080,它重定向到https://localhost:8080 哪个接缝合理,但 8080 端口被转发到 http:80 访客端口而不是 https:43。
所以 urlhttps://localhost:8080是半真半假。我不知道如何将 https 端口转发到访客 https 端口,但我想知道重定向会发生什么,因为如果 https:4343 被转发到访客:43 https://localhost:8080,那不是有效的 url 应该是(我认为)…… 。https://localhost:4343但是应用程序不知道端口,它只是http随着https

(原谅我的胡言乱语)

我如何设置 Vagrant 网络设置以访问来宾 Apache http:80 和 https:43 端口。我可以为来宾实例分配一个静态 IP 并愉快地使用它吗?

问候

使用:

流浪者版本 1.1.5

Ubuntu 精确64.box

4

1 回答 1

1

对于您的用例,默认网络模式 - NAT 不是一个好的选择,因为您有多个端口(至少 80 和 443)要转发。

我建议使用桥接模式,这样来宾就好像是你局域网中的物理主机,你将能够使用它的局域网 IP 访问 HTTP/HTTPS。你不需要做端口转发(实际上你不能在 VirtualBox 中为桥接模式做端口转发)。

要使用桥接模式(公共网络),在您Vagrantfile添加config.vm.network :public_networkVagrant.configure块中并执行 avagrant reload时,它应该可以完美地工作。用于ifconfig -a检查,将为桥接添加第二个接口。

参考:http ://docs.vagrantup.com/v2/networking/public_network.html

于 2013-08-27T00:23:24.167 回答