Я устанавливаю сервер TeamCity, на котором запущен собственный встроенный экземпляр Tomcat на Amazon EC2.
Я успешно получил ответ от экземпляра на порту 8111 или 8080, но когда я пытаюсь изменить порт на 80, я не могу заставить его отвечать на этом порту.
Моя группа безопасности настроена так, чтобы разрешить порт 80, и я убедился, что это не проблема.
Я больше ничего не использую на своем экземпляре Linux, только дистрибутив TeamCity, поэтому у меня нет сервера apache или чего-либо еще.
Что мне кажется странным, так это то, что когда я запускаю его на 8111 или 8080, а затем выполняю netstat, я вижу, что эти порты прослушиваются, но когда я устанавливаю порт на 80 и запускаю другой netstat, порт 80 никогда не отображается как прослушиваемый. .
Кто-нибудь знает, почему я не могу заставить tomcat отвечать на порт 80?
В инстансах Amazon EC2 Basic Linux порты 1-1023 являются привилегированными, поэтому, когда я пытался запустить teamcity как пользователь без полномочий root, он вылетал из-за того, что я пытался получить доступ к привилегированному порту.
Я узнал это через этот вопрос о переполнении стека
В нем изложены 2 решения:
Вероятно, он уже используется каким-то другим процессом. Ты должен бежать
netstat -anc | grep 80
как root, чтобы узнать, какой процесс имеет сокет LISTEN на этом порту.