Я использую AWS Cloud9, и это было гладко, но сейчас я пытаюсь сделать свой URL общедоступным, чтобы я мог делать HTTP-запросы в Postman, и я действительно изо всех сил. Я очень начинающий разработчик полного стека, и любая помощь будет признательна.
Спасибо,
Стивен
Я пытаюсь правильно следовать этому руководству:
https://docs.aws.amazon.com/cloud9/latest/user-guide/app-preview.html
В частности, я перехожу к шагу 4, где он просит меня изменить IP-адрес в моем коде. Когда я меняю IP-адрес app.listen приложения Node JS Express на IP-адрес моего экземпляра EC2, я получаю сообщение об ошибке.
Я думаю, что я успешно сделал мой экземпляр EC2 общедоступным, и что это просто мой код, который не слушается правильно (эти шаги казались легкими для выполнения, но я могу ошибаться.
var express = require("express");
var app = express();
app.set("view engine", "ejs");
app.get("/", function (req, res){
res.render("helloWorld");
});
app.listen(8080, '**AWS EC2 instance IP**', function(){
console.log("Server Has Started!");
});
Работает нормально, когда я не указываю IP-адрес в app.listen, но тогда, конечно, я могу получить доступ к серверу только с другой вкладки в том же браузере. Вот что выдает консоль, когда я запускаю код с включенным AWS EC2 экземпляр IP в комплекте:
events.js:174
throw er; // Unhandled 'error' event
^
Error: listen EADDRNOTAVAIL: address not available **AWS EC2 instance IP**:8080
at Server.setupListenHandle [as _listen2] (net.js:1262:19)
at listenInCluster (net.js:1327:12)
at doListen (net.js:1460:7)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:832:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1306:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)