Ошибка развертывания AWS Elastic Beanstalk: 502 Bad Gateway - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь развернуть локально разработанное веб-приложение как экземпляр aws.Приложение является веб-базируемым с серверной частью node.js.Я загрузил приложение, используя Elastic Beanstalk от aws, который довольно прост и работает хорошо.После завершения развертывания я получил зеленую отметку о состоянии.

Однако, когда я выбрал URL-адрес в верхней части панели инструментов, чтобы открыть недавно развернутое приложение, я получил ошибку «502 Bad Gateway».Я сделал поиск в Google, чтобы определить, что это за ошибка и как ее исправить без особого успеха.Большинство предложений состояло в том, чтобы обновить страницу, и она как-то исчезнет «сама по себе».Это не так.Я также прочитал вопрос об Elastic Beanstalk - вопрос о переполнении стека 502 Bad Gateway, но без особого успеха.

Вот вывод файла error.log, который я скачал с aws:

2018/10/11 15:04:24 [error] 2946#0: *231 connect() failed (111: 
Connection refused) while connecting to upstream, client: 172.31.88.17, 
server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", 
host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com"
2018/10/11 15:04:24 [error] 2946#0: *231 connect() failed (111: 
Connection refused) while connecting to upstream, client: 172.31.88.17, 
server: , request: "GET /favicon.ico HTTP/1.1", upstream: 
"http://127.0.0.1:8081/favicon.ico", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com", referrer: "http://sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com/"
2018/10/11 15:05:13 [error] 2946#0: *231 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.88.17, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com"
2018/10/11 15:05:13 [error] 2946#0: *231 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.88.17, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com", referrer: "http://sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com/"

Я также скачал nodejs.log, который, похоже, указывает, что сервер aws не указывает нафайл запуска, server.js.

Error: Cannot find module '/var/app/current/system.js'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:160:9)
at bootstrap_node.js:507:3
module.js:478
throw err;

Предложения приветствуются.

Спасибо ...

1 Ответ

0 голосов
/ 12 октября 2018

Я бы попробовал это.Настройте папку в вашем источнике, которую вы загружаете в эластичный beanstalk, с именем .ebextensions. Создайте здесь файлы, чтобы установить свой источник и настроить приложение.

Примером является создание файла с именем node-settings.config (для запуска любогоnpm-команды, которые ваше приложение должно инициализировать) Пример \ / по ссылке:

option_settings:
  aws:elasticbeanstalk:container:nodejs: 
    NodeCommand: "npm start"
    ProxyServer: apache
    GzipCompression: true
  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /images: myimages

Вот ссылка, показывающая, что вы можете установить в этом файле в качестве параметров, специфичных для платформы (nodejs): https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-specific.html

...