Мне нужно связать определенный домен с портом на сервере Apache. Я ищу что-то вроде этого:

www.test.com     links to 127.0.0.1:80
www.sub.test.com links to 127.0.0.1:90

Я уже создал два VirtualHosts в моем httpd conf:

<VirtualHost *:80>
    ServerName www.test.com
    DocumentRoot /var/www/html/test
</VirtualHost>

<VirtualHost *:90>
    ServerName www.sub.test.com
    DocumentRoot /var/www/html/sub-test
</VirtualHost>

Но когда я пытаюсь получить доступ к www.sub.test.com меня появляется port 80 .

Кто-нибудь может мне помочь?

2 ответа2

0

В то время как вы можете назначить домены портам, порт по умолчанию для http равен 80, поэтому любой адрес, который вы укажете без явного порта, будет использовать порт 80.

Что касается того, почему вы получаете другой веб-сайт, так как вы не указываете порт, браузер использует порт 80, и это единственный определенный хост для этого порта. Первый определенный VirtualHost является особенным, так как он будет выбран без совпадений записей.

Почему вы используете разные порты? Просто используйте порт 80 для обоих имен, и Apache сделает то, что вы, вероятно, хотите.

0

То, что вы пытаетесь сделать, это не стартер. (Применительно к http и большинству протоколов) запись о доменном имени / домене не сопоставляется с IP-адресом.

Если вы пытаетесь запустить 2 веб-сайта с одного и того же IP-адреса, просто сделайте это - вам не нужны дополнительные порты - протокол http согласовывает сайт на основе домена, который отправляется браузером как часть протокола http (1.1).

Если вам необходимо подключить доменное имя к службе, работающей на порте, вам необходимо реализовать какой-либо прокси-сервер, в котором соединение, установленное на порту 80, проксируется через порт 90. Это не похоже на то, что вы хотите сделать, но если это так, посмотрите на mod_proxy для Apache.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .