Есть ли недостатки в использовании портов, чтобы сообщить моему серверу, какой веб-сайт вернуть, вместо получения этой информации из HTTP-запроса? Есть ли лучший способ решить, какой диапазон портов использовать?
Насколько я понимаю, может быть сложно использовать HTTPS, если я полагаюсь на HTTP-запрос, хотя в настоящее время я не собираюсь использовать HTTPS.
Я считаю, что могу установить DNS-запись в каждом домене веб-сайта, сообщая ему, какой порт сопоставить на моем сервере с помощью записи SRV.
Сервер представляет собой простую программу golang, использующую библиотеку HTTP. Машина представляет собой виртуальную машину Debian, размещенную через Google Compute Engine со статическим IP-адресом. Любой из вариантов зависит от библиотеки golang, позволяющей мне указать порт или позволяющей мне анализировать HTTP-запрос, и я считаю, что могу это сделать. Я считаю, что опция порта приведет к запуску нескольких серверных «процессов», которые будут отдельными программами golang, которые могут быть сложными в управлении (отслеживание того, какие сайты находятся на каких портах), в то время как опция HTTP-запроса приведет к запуску одного серверного процесса. это может обслуживать все веб-сайты, которые могут быть немного сложнее в настройке, но проще в обслуживании.
Придерживайтесь использования vhosts и позвольте apache определять, какой сайт обслуживать, через заголовки. Использование порта, отличного от 80, и предположение, что клиент определит это из записей SRV, не сработает.
Все современные браузеры поддерживают этот подход, а более новые версии apache и веб-браузеры даже поддерживают его с помощью TLS, если вы в конечном итоге решите перейти на HTTPS.