前提・実現したいこと
Hapi.jsとasync awaitを利用してウェブサービスを作りたい。
node.js初学者です。
土日を使ってウェブサーバーを立てようと取り組んでいましたが、どうしても分からないことがあり、質問させていただきました。
発生している問題・エラーメッセージ
下記のソース1とソース2で挙動が異なる理由が分からない。
http://{サーバーのIP}:3000/ に接続を行うと
このサイトにアクセスできません{サーバーのIP} で接続が拒否されました。
と表示される。
該当のソースコード
ソース1 サーバーを作る上でできる限り小さくしたもの
js
1var http = require('http'); 2 3http.createServer(function (req, res) { 4 res.writeHead(200, {'Content-Type': 'text/plain'}); 5 res.end(`Hello World`); 6}).listen(3000);
ソース2 実際に動かしたいソース
js
1 const Hapi = require('hapi'); 2 3// サーバーオプションの設定 4const serverOptions = { 5 host: 'localhost', 6 port: 3000 7}; 8 9// サーバーを作る 10const server = new Hapi.Server(serverOptions); 11 12(async () => { 13 server.route({ 14 method: 'GET', 15 path: '/', 16 handler: responseReturn, 17 }); 18 await server.start(); 19})(); 20 21function responseReturn(req) { 22 return `Hello World`; 23}
環境はGCEを利用しており、tcpポート3000は開放しています。
試したこと
サーバー内から
curl -X GET localhost:3000
を叩く
ソース1 → 成功
ソース2 → 成功
ブラウザから
http://{サーバーのIP}:3000/ に接続
ソース1 → 成功
ソース2 → 失敗(このサイトにアクセスできません{サーバーのIP} で接続が拒否されました。と表示)
補足情報(FW/ツールのバージョンなど)
GCEを利用(Firewall tcpポート3000開放済)
os ubuntu20
node v10.19.0
hapi v17
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。