2

如果我在 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。

4

1 回答 1

0

这是英镑的问题,/etc/pound.cfg 看起来像:

ListenHTTPS
    Address localhost
    Port    443

变成:

ListenHTTPS
    Address 33.33.33.10
    Port    443

解决了问题

于 2014-06-22T19:00:28.310 回答