なんらの理由(社内のセキュリティポリシー上とか)で, $ vagrant share
が使えない場合の対処方法.
対象とするユーザ
- インターネットから vagrantで構築した guest osに httpリクエストを送りたい
-
$ vagrant share
は使えない - ssh でログインできるサーバ(グローバルIPが付いている)がある
- ポートフォワードが利用できる事
手順
- sshでログイン可能なサーバに nginxをインストールする
- 別に apache でもOK. Reverse Proxyが使いたいだけ.
- 以下のように設定を記述する
/etc/nginx/nginx.conf
server {
server_name vagrant.example.com;
location / {
proxy_pass http://127.0.0.1:10080;
}
}
- vagrant で構築した guest os から sshで接続をする
$ ssh -v -C -N -R 10080:127.0.0.1:80 <ユーザ名>@vagrant.example.com
#### ssh の オプションは以下のとおり
|オプション|説明|
|:-:|:---|
|-v|デバッグログを標準出力|
|-C|通信経路を圧縮する|
|-N|ログイン後対話しない|
|-R|リモート側からローカルへのフォワード(リバース)|
あとはブラウザ等で http://vagrant.example.com/
に接続すれば, vagrant内の80番ポートにリクエストされている
やめたい場合は, 手順 3 を 実施したターミナルで C-c で終了です.