PHP 内部サーバーは Amazon AWS から外部には表示されません

PHP 内部サーバーは Amazon AWS から外部には表示されません

セキュリティの重要性がほとんどないサーバーでテストを行っています。これらのテストでは、バージョン 5.4 以降で内部的に提供される PHP サーバーを使用したいと考えています。ただし、Amazon AWS では、バインドされたポートは外部からアクセスできません (接続時にハングします)。

$ php -S 10.138.XXX.XXX:81 -t ~/webapps/ssh
PHP 5.4.37 Development Server started at Fri Feb 20 23:22:12 2015

これで、そのボックス上のローカル PHP サーバーにアクセスできるようになりました。

wget 10.138.XXX.XXX:81/webconsole.php

しかし、リモートアクセスを試みると接続がハングしたりタイムアウトしたりします

以下は、外部からは見えず、ローカルホストでのみ表示されるポートです。

$ netstat -an | grep 81  #81 is the php port number
tcp        0      0 10.138.xxx.xxx:YY             0.0.0.0:*                   LISTEN

反例として、外部から見える Jetty サーバー ポートを見てみましょう。

以下は、外部から見えるポート 8080 の動作例です。

root@ip-10-138-XXX-XXX ~]$ netstat -an | grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN
tcp        0      0 :::18080                    :::*                        LISTEN
tcp        0      0 ::ffff:10.138.xxx.xxx:8080    ::ffff:107.1.xxx.xxx:61428   ESTABLISHED

答え1

インスタンスが属するセキュリティ グループの受信ルールでは、自分の IP アドレスまたはすべてのユーザーに対してポート 81 の受信を開くことができます。

関連情報