Azure に Ubuntu 仮想マシンがあります。Azure 管理ポータルにエンドポイントを追加しました。
NAME PROTOCOL PUBLIC PORT PRIVATE PORT LOAD-BALANCED SET
---------------------------------------------------------------
HTTP TCP 80 80 -
そして、私はそれを聞いてみました:
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
server.listen(80);
ssh して curl すると動作します:
$ curl localhost:80
Hello World
しかし、でアクセスしようとするとsubdomain.cloudapp.net
、何も返されません。また、パブリック IP アドレスでアクセスしても何も返されません。
外部からノード アプリケーションにアクセスするには、どのポートとアドレスでノード アプリケーションをリッスンする必要がありますか?
VM にアクセスできるようにするには、別の Azure サービスが必要ですか?
ファイアウォールに問題がある場合、パブリック アクセスを有効にするにはどうすればよいですか?
編集:
ファイアウォールがあるかどうかを確認しましたが、ありません:
$ sudo ufw status
[out :: subdomain.cloudapp.net] Status: inactive
編集2:
別の ubuntu vm をプロビジョニングしましたが、それでも機能しません。iptables を再起動しようとしましたが、サービスが不明でした:
$ sudo service iptables restart
iptables: unrecognized service
iptables は次のとおりです。
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination