Почему Heroku не привязан к порту HTTP-сервера Java? - PullRequest
0 голосов
/ 18 декабря 2018

В Java реализован базовый HTTP-сервер, который я пытаюсь развернуть в Heroku.Сервер работает должным образом при запуске на локальном хосте, но в Heroku я получаю следующую ошибку в моих журналах:

2018-12-18T09:03:28.323430+00:00 heroku[web.1]: State changed from crashed to starting
2018-12-18T09:03:32.152747+00:00 heroku[web.1]: Starting process with command `java -jar build/http-server.jar`
2018-12-18T09:03:34.496251+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2018-12-18T09:03:34.517683+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -XX:+UseContainerSupport -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2018-12-18T09:05:02.493578+00:00 heroku[web.1]: State changed from starting to crashed
2018-12-18T09:05:02.344933+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2018-12-18T09:05:02.344933+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-12-18T09:05:02.475449+00:00 heroku[web.1]: Process exited with status 137

Я установил переменную окружения PORT равной 5000, что и является моим серверомв настоящее время является обязательным (да, это жестко закодировано на данный момент).Например, если я изменяю порт сервера на 80, я вижу в своих журналах, что сервер не может привязаться к этому порту, поэтому я рад, что он привязывается к правильному порту.Мое понимание документов заключается в том, что я должен просто иметь возможность установить номер нужного мне порта, используя переменную среды PORT.

Почему тогда Heroku не может привязаться кэтот порт?Есть ли какие-то другие действия, которые я должен предпринять, например, проксирование от 443 до 5000?

1 Ответ

0 голосов
/ 18 декабря 2018

Я установил для переменной среды PORT значение 5000, к которому в настоящее время привязывается мой сервер (да, сейчас он жестко задан).

You 'Мы получили это задом наперед.

Переменная окружения PORT установлена ​​Heroku, и ваш код должен связываться с этим значением .Вы не можете жестко закодировать порт или выбрать его самостоятельно.Вы должны взять это из окружающей среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...