У меня есть файл httpd.conf, который был случайно изменен, чтобы номер порта, который прослушивает сервер, был изменен на номер выше 65535. Что он делает, когда HTTPD читает этот файл конфигурации? Он возвращается к порту 80?
Это зависит от комплектации. Вы можете определить несколько портов для прослушивания, и в этом случае он будет пытаться привязаться ко всем из них. Думайте о запуске приложения как о многоэтапном процессе. В простейшей форме процесс будет выглядеть так:
Если вы укажете ему неиспользуемый, но существующий порт, тогда httpd выполнит шаг 2 и завершится ошибкой. Приложение не запустится полностью и не сбой до порта 80.
В случае, если вы указали не порт, то есть текст, отрицательное число или число выше 65535, тогда конфигурация будет считаться недействительной, и httpd умрет на 1.
Один из способов - попробовать это самому и использовать
netstat -lptnto see what port httpd is listening on.
Если вы установите порт выше 65535, например, 65536, будет выдана синтаксическая ошибка «Недействительный адрес или порт».
Многое зависит от конкретного серверного программного обеспечения, которое вы используете.
Вы можете ожидать, что программа выдаст ошибку из-за неправильного номера порта, но это не обязательно так; некоторые программы с радостью примут все, что вы им передадите, что приведет к очень странному поведению.
Вот проблема: номер порта представляет собой 16-битное значение без знака (0–65535), и в некоторых ситуациях приложения будут принимать большие числа, но использовать только младшие 16 бит. Это приводило к сбивающим с толку случаям, когда сценарий запуска указывает порт (скажем) 90000, и обнаруживается, что приложение прослушивает порт 24464 (мод 90000 65536 = 24464).
Я задокументировал похожий инцидент еще в выпуске журнала SysAdmin за февраль 2002 г. «Повышение надежности с помощью криминалистических операций» (копировать) В идеале такие вещи должны происходить только между наивным программным обеспечением и разработчиками, не знающими специфики базовой сети (т.е. диапазон легитимных портов) все еще нужно остерегаться таких «невозможных» инцидентов. Я предпочитаю работать с разработчиками, чтобы убедиться, что их код удобен для эксплуатации, но часто работа и разработка идут не в лучших условиях.