SSH
xdebug

SSHのポートフォワーディングを使って非公開サーバーをブラウザで表示する

いまさらだけどsshのポートフォワーディングを知りました。

開発サーバーなどで80番ポート公開したくない場合に便利だなと思ったのでメモ書きだけど共有。


リモートの80番ポートとhttp通信してページを表示する


コマンド

ssh -N -L 8080:127.0.0.1:80 ユーザー@リモートサーバー


検証手順

リモートは、127.0.0.1:8080でWebサーバーを起動しておく。

(今回はphpのbuilt-in web serverを利用)

$ php -v

PHP 7.2.19 (cli) (built: Jun 12 2019 13:51:06) ( NTS )
$ echo "<?php phpinfo();" > index.php
$ php -S 127.0.0.1:80

ローカルの8080とリモートの127.0.0.1:80を割り当てする。

$ ssh -N -L 8080:127.0.0.1:80 ユーザー@リモートサーバー

この状態でローカルのブラウザから127.0.0.1:8080にアクセスするとphpinfoが表示されます。


リモートの9000番ポートと通信してxdebugを利用する


コマンド

ssh -R 9000:localhost:9000 ユーザー@リモートサーバー


検証手順

PhpStormの公式ドキュメントにわかりやすく解説されています。

https://pleiades.io/help/phpstorm/remote-debugging-via-ssh-tunnel.html

以上