如果我在 vagrant 上运行 apache 和 varnish 并在来宾和主机上运行以下命令,它可以正常工作:
//guest
wget http://localhost/app_dev.php
//host
wget http://localhost:8080/app_dev.php
我的 Vagrantfile 看起来像这样:
config.vm.network "forwarded_port", guest: 80, host: 8080
现在我将尝试 ssl 所以将其更改为
config.vm.network "forwarded_port", guest: 443, host: 8080
然后在客户机上我启动 httpd、varnish 和 pound。现在我无法再从主机连接:
//on guest:
wget --no-check-certificate https://localhost:443/app_dev.php
//results in 200 OK
//on host
wget --no-check-certificate https://localhost:8080/app_dev.php
//results in
//--2014-06-22 23:43:34-- https://localhost:8080/app_dev.php
//Resolving localhost (localhost)... 127.0.0.1
//Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
//Unable to establish SSL connection.
不知道问题出在哪里,是不是不允许在 8080 上创建 ssh?
在 Vagrantfile 中尝试以下操作时
config.vm.network "forwarded_port", guest: 443, host: 443
我在启动时收到警告:
==> default: You are trying to forward to privileged ports (ports <= 1024). Most
==> default: operating systems restrict this to only privileged process (typically
==> default: processes running as an administrative user). This is a warning in case
==> default: the port forwarding doesn't work. If any problems occur, please try a
==> default: port higher than 1024.
但是从主机尝试 wget 时仍然出现相同的错误。
是否可以使用 vagrant 从主机到访客建立 https 连接?如果是,那怎么办?
我正在使用 Fedora 20 盒子。在 Vagrantfile 中尝试了以下设置:
config.vm.network "private_network", ip: "33.33.33.10"
然后添加到我的主机
33.33.33.10 site
当我启动 httpd,清漆并敲击来宾(httpd 监听 8080,清漆到 80 和 Pound 到 443)我可以得到 http:site/,http:site:8080 但没有 https:site(必须删除 // 或无法发布)来自来宾的 wget 工作的地方(使用预期的 html 响应 200)
在我试过的客人身上
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
但同样的结果,我想不出 Vagrant fedora 盒子会阻止 https 端口的原因,但可能是因为我不知道如何使用 iptables。