Vagrant Apache2 http / https端口转发

时间:2013-08-26 06:55:14

标签: ubuntu-12.04 lamp vagrant portforwarding

我正在使用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   所以网址https://localhost:8080是半个谎言。我不知道如何将https端口转发到访客https端口,但我想知道https://localhost:8080重定向将会发生什么,因为这不是有效的url应该是(我认为),如https://localhost:4343,如果https:4343转发给访客:43。但是应用程序不知道端口,它只是用http

更改https

(原谅我的胡言乱语)

如何设置Vagrant网络设置以访问来宾Apache http:80和https:43端口。我是否可以为guest实例分配静态IP并使用它。

问候

使用:

Vagrant版本1.1.5

Ubuntu precise64.box

1 个答案:

答案 0 :(得分:1)

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

我建议使用桥接模式,以便访客看起来像是LAN中的物理主机,并且您将能够使用其LAN IP访问HTTP / HTTPS。您不需要进行端口转发(实际上您无法在VirtualBox中进行桥接模式的端口转发)。

要使用桥接模式(公共网络),在Vagrantfileconfig.vm.network :public_network添加到Vagrant.configure块中并执行vagrant reload,它应该可以正常运行。使用ifconfig -a进行检查,将为桥接添加第二个界面。

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