2016-01-27 2 views
2

Я пытаюсь запустить мое приложение загрузки Spring на AWS, используя boxfuse. Я следил за уроком following от Spring (раздел 54.4) и Get Started от Boxfuse.ОШИБКА: Запуск приложения не выполнен - ​​Spring boot + Boxfuse/AWS

Когда я запускаю следующую команду

boxfuse run target\digigram-0.1.0.jar -env=prod 

я получаю следующие строки

Waiting for AWS to boot Instance i-74fe7fc8 and Payload to start at http://52.28.94.159:8080/ ... 
WARNING: Healthcheck (http://52.28.94.159:8080/) returned 404 instead of 200. Retrying for the next 120 seconds ... 
Terminating instance i-74fe7fc8 ... 

И заканчивается

Destroying Security Group sg-0ed6f667 ... 
ERROR: Deployment of pantera160/digigram:0.0.0.1453900589995 failed in prod:Payload of Instance i-74fe7fc8 came up at http://52.28.94.159:8080/ 
with HTTP 404 (expected 200) => ensure your application responds with an HTTP 200 at http://52.28.94.159:8080/ or adjust the healthcheck configuration (healthcheck.path, healthcheck.timeout, ...) to fit your application 
ERROR: Running pantera160/digigram:0.0.0.1453900589995 failed! 

Я не понимаю, где проблема. Должен ли я что-то изменить в AWS или в моей заявке или ...

Любая помощь будет принята с благодарностью.

ПРИМЕЧАНИЕ:
Я бегу по бесплатному плану для AWS, может быть, это проблема?

ответ

1

Boxfuse гарантирует, что правильная версия приложения будет работать и не будет заменена плохой. Только когда новая версия проходит проверку работоспособности Boxfuse, Boxfuse переназначает ее Elastic IP приложения. Как только это будет завершено, Boxfuse завершает экземпляр старой версии.

Чтобы убедиться, что новая версия приложения придумывает правильно Boxfuse ожидает Healthcheck путь новой версии в экземпляре, чтобы вернуть HTTP 200.

путь Healthcheck по умолчанию для регулярного применения Spring загрузки без исполнительного механизма /. Ваше приложение в настоящее время отвечает 404 там вместо 200.

У вас есть несколько вариантов, чтобы исправить это:

  • Добавить контроллер в ваше приложение отображается в /, который возвращает HTTP 200, когда ваше приложение подходит правильно.
  • Изменить Boxfuse healthcheck.path на другой путь, который действительно отвечает на HTTP 200, когда ваше приложение подходит правильно.
  • Отключить Boxfuse чеки здоровья, установив healthcheck в false (не рекомендуется, так как это эффективно предотвращает Boxfuse от проверки, является ли пришел ваше приложение правильно)

Выберите либо один из этих вариантов, и ваше приложение будет приходить правильно, как вы ожидал бы.