Создать доменное имя, указывающее на IP-порт, отличный от 80

Я хотел бы использовать имя домена, чтобы указать веб-страницу на IP-адрес локального сервера. Однако проблема заключается в том, что страница связана с IP-адресом, настроенным на порт 8088, а не с 80, потому что последний уже используется другой веб-страницей. В доменной компании мне сказали, что они не могут этого сделать, потому что домен может указывать только на IP-адрес, настроенный на порт 80. Так что теперь я в тупике. Какие у меня альтернативы и как я могу сделать домен, указывающий на IP: 8088?

Спасибо

Ответы

Ответ 1

Доменная компания, с которой вы говорили, возможно, плохо объяснила, как работают домены. Доменные имена не относятся к конкретным портам. Они просто ссылаются на IP-адреса. Клиент может найти имя хоста, чтобы получить IP-адрес, к которому клиент должен подключиться, но клиент должен выяснить порт без помощи DNS. Порт 80 является просто портом по умолчанию для службы HTTP.

Вы можете запустить веб-сервер на порту 8088, если хотите. Номер порта должен появиться в URL, например, http://somehost.example.com:8080/some/page. Клиенты анализируют это и знают, что нужно подключиться к порту 8080 вместо порта 80 по умолчанию.

Если вы не хотите, чтобы URL-адреса содержали номер порта, то запросы будут отправляться на порт 80 по умолчанию, и у вас нет другого выбора, кроме как заставить веб-сервер, работающий на порту 80, обрабатывать эти запросы. HTTP/1.1-запросы включают имя хоста, с которым клиент хочет связаться, и современные программы веб-сервера обычно способны обслуживать совершенно разные наборы контента на основе имени хоста в запросе. Есть несколько способов сделать то, что вам нужно:

  1. Просто настройте веб-сервер для порта 80 для обработки обоих сайтов. Это будет зависеть от того, какое программное обеспечение веб-сервера вы используете. Apache, например, называет эти "виртуальные хосты", а представляет собой набор примеров. Это типичное решение, и некоторые люди запускают сотни сайтов на одном и том же сервере.

  2. Запустите два веб-сервера, как вы запланировали. Настройте сервер для порта 80 в качестве обратного прокси-сервера для второго веб-сайта. Сервер будет продолжать обслуживать контент для сайта, который он сейчас обрабатывает. Когда он получает запрос для второго сайта, он передает запрос на сервер, работающий через порт 8088, и передает ответ сервера обратно клиенту.

  3. Переместите существующий сервер для порта 80 на другой порт. Запустите чистый обратный прокси-сервер на порту 80, перенаправляя запросы на оба веб-сайта на соответствующие веб-серверы.

Возможно, вам лучше задать дополнительные вопросы https://webmasters.stackexchange.com/ или https://serverfault.com/.

Ответ 2

Вы можете использовать прокси, чтобы перенаправить данный домен в IP: PORT. Для этого вы можете либо запустить сервер Nginx, либо настроить его как ваш обратный прокси-сервер, либо использовать этот проект, который будет выполнять именно то, что вы хотите, и почти без конфигурации https://github.com/cristianoliveira/ergo