Почему мое приложение-контейнер, размещенное на сервере heroku, отвечает "Не авторитетно"
Я пытаюсь запустить свое простое веб-приложение как контейнер Docker в Heroku. При сборке и локальном запуске контейнера все работает нормально.
Но при доступе к сгенерированной конечной точке https://html5-landingpage-buddah.herokuapp.com/ ответы Heroku с ошибочным запросом HTTP 400 и сообщением "Не авторитетный"
Логи внутри Heroku не особо помогают:
2020-09-19T14:45:45.269487+00:00 heroku[router]: at=info method=GET path="/" host=html5-landingpage-buddah.herokuapp.com request_id=5f07ea7e-d925-4fbe-b7ba-29387a3284cc fwd="XX.XX.XX.XXX" dyno=web.1 connect=1ms service=1ms status=400 bytes=212 protocol=https
Я проверил ошибку, но не нашел полезной информации. Также повторное создание приложения в Heroku, переименование URL-адреса и перемещение приложения в другой регион не помогли.
1 ответ
Ошибка
Not Authoritative
просто означает, что Heroku не может перенаправить трафик с указанного доменного имени в ваше приложение.
Согласно Heroku,
Веб-процесс должен прослушивать HTTP-трафик на
$PORT
, установленный Heroku. вDockerfile
не соблюдается, но может использоваться для локального тестирования. Поддерживаются только HTTP-запросы.
Вам нужно будет заменить ваш
EXPOSE
а также
ENTRYPOINT
как таковой
CMD [ "sh", "-c", "java -jar ./app --bind 0.0.0.0:$PORT" ]