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 に、パウンドを 443 にします)、http:site/、http:site:8080 を取得できますが、https:site は取得できません (// または削除する必要がありました投稿できません)ゲストからのwgetが機能する場所(予想されるhtmlでの応答200)
私が試したゲストで
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
しかし、同じ結果ですが、Vagrant fedora ボックスで https ポートがブロックされる理由は思いつきませんが、iptables の使用方法がわからないためである可能性があります。