開発などをしていると一時的にローカル開発環境を公開状態でテストしたいタイミングが発生することがあると思います。
その場合に便利なのが既に存在する公開サーバを利用しポートフォワードでローカル環境を外部公開サーバに転送することです。
イメージ図と流れ
流れ
・①サブドメインを取得
MyDNSの自ドメインでサブドメイン temp をとっちゃいます。
例)temp.techlog.mydns.jp
・②Nginxの設定追加
nginxについて temp.techlog.mydns.jpでのアクセスに対応するバーチャルドメイン設定します。
→ここのバーチャルドメインで localhost 8080に転送するようにします。
・③sshでポートフォワードを使ってローカル開発環境の 80 ポートを 公開サーバの 8080から転送されるようにします。
①サブドメインを取得
MyDNSでサブドメインを取得します。
今回はtempという名前でサブドメインを取得します。
②Nginxの設定追加
sudo vim /etc/nginx/sites-available/temp.techlog.mydns.jp
server {
client_max_body_size 10G;
server_name temp.techlog.mydns.jp;
location / {
proxy_pass http://localhost:8080;
}
}
シンボリックリンクを張って有効にします。
sudo ln -s /etc/nginx/sites-available/temp.techlog.mydns.jp /etc/nginx/sites-enabled/temp.techlog.mydns.jp
sudo systemctl restart nginx
sudo certbot
せっかくなんでHTTPS化もしておきます。
③ポートフォワードコマンドを実行
ローカル開発環境で以下のコマンドを実行します。
ssh ユーザ名@サーバIP -i 証明書 -R 8080:ローカル開発環境のIP:80
ポイントは通常のssh接続の後に、 -R 8080:ローカル開発環境のIP:80 をつけているだけです。
コメント