前提・実現したいこと
nodejsを勉強しています。
環境:Azure Linux仮想マシン
発生している問題・エラーメッセージ
node index.js
で起動して、他の端末で
curl -s -X GET http://127.0.0.1:8080/
でアクセスできますが、
ほかのPCでパブリックIpで
curl -s -X GET http://13.78.**.**:8080/
でアクセスできません。
何か設定とか足りないでしょうか?
wang@study-wang:~$ curl -s -X GET http://127.0.0.1:8080/ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>EJS Sample < Code<</title> </head> <body> <h1>EJS Sample < Code<</h1> <p>This is EJS< Sample... <</p> </body> </html> wang@study-wang:~$
パブリックIpでアクセス
wang@vmBrfAdm01:/root$ curl -v -s -X GET http://13.78.60.213:8080/ * Trying 13.78.60.213... * connect to 13.78.60.213 port 8080 failed: Connection timed out * Failed to connect to 13.78.60.213 port 8080: Connection timed out * Closing connection 0
該当のソースコード
index.js
nodejs
1var express = require('express'); 2var app = express(); 3var ejs = require('ejs'); 4app.engine('ejs', ejs.renderFile); 5app.get('/', function(req, res) { 6 res.render('../test.ejs', { 7 title: "EJS Sample Code", 8 content: "This is EJS Sample..." 9 }); 10}); 11app.listen(8080);
test.ejs
nodejs
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title><%=title %></title> 6</head> 7<body> 8<h1><%=title %></h1> 9<p><%-content %></p> 10</body> 11</html>
試したこと
エラーメッセージは?
エラーメッセージなし、何も出てこないです。
curlに-vを付けるとエラーが出力されます。おそらく「Connection refused」だと思います。その場合、8080ポートの開放ができていないだけの可能性が高いので、「試したこと」に、どうやってポート解放したかをもう少し詳しく書いてみてください。
正常終了すると言う事ですか?状況を質問に追記してください。
受信ポートの規則に8080を追加しました。画像貼付けを追加しました。
curl -v -s -X GET http://127.0.0.1:8080/
エラー情報が出てきました。Connection timed outとなっています。
回答4件
あなたの回答
tips
プレビュー