Изменив мои записи DNS, как я могу разрешить «test.mydomain.com» разрешить XXX.XXX.XXX.XXX:8080? - PullRequest
5 голосов
/ 16 мая 2009

Во-первых, это вопрос программирования, потому что я пытаюсь настроить тестовый / QA-сервер, работающий параллельно с производственным сервером.

Во-вторых, да, я должен опубликовать это на Serverfault, но я пытался войти в систему с ТРЕМ различными провайдерами OpenID, и каждый раз, когда я получаю сообщение об ошибке, утверждающее, что этот провайдер не поддерживается в бета-версии (даже если иконка находится прямо там) ). Чтобы опубликовать вопрос, вы должны войти в систему.

Вот так, ладно.

В настоящее время у меня есть одна A запись с @ хостом, указывающим на IP моего сервера, скажем 111.11.11.11 . Затем у меня есть запись CNAME с хостом www , указывающим на @ из моей записи A .

Проблема в том, что у меня работает другой веб-сервер на 111.11.11.11: 8080 . Я хотел бы сделать еще один CNAME , чтобы test host указывал на что-то вроде @: 8080

Подведем итог:

www.mydomain.com должно разрешить до 111.11.11.11

test.mydomain.com должно разрешить до 111.11.11.11: 8080

Возможно ли это? Если да, то как?

Ответы [ 9 ]

6 голосов
/ 16 мая 2009

DNS A (адресная) запись не имеет номера порта. Так что нет, , что невозможно.

Что возможно, так это иметь другой IP-адрес для той же машины (например, 111.11.11.12), и пусть test.mydomain.com разрешит его. Тогда ваш первый сервер должен прослушивать только первый IP, а второй - только второй.

P.S. Существуют записи DNS SRV, которые позволяют указывать порт, но браузеры их НЕ используют, увы.

3 голосов
/ 16 мая 2009

DNS разрешает только IP-адрес. Однако если у вас есть разрешение DNS для IP-адреса, на котором расположен Apache, вы можете использовать mod_proxy для передачи запроса на сервер приложений через порт 8080. Смотрите эту ссылку.

http://www.jboss.org/community/wiki/UsingModproxyWithJBoss

1 голос
/ 16 мая 2009

Нет, это невозможно. DNS контролирует, на какой IP-адрес указывает домен , он не имеет никакого отношения к порту. Вероятно, вы можете настроить правила брандмауэра для достижения желаемого.

1 голос
/ 16 мая 2009

номер

Вы не можете определить порт в вашей конфигурации DNS. Это не его цель. Это просто про ip -> host и reverse.

1 голос
/ 16 мая 2009

Нет, записи DNS A разрешают только имена хостов в IP-адрес, он ничего не знает о номерах портов.

Но вы всегда можете настроить свой веб-сервер так, чтобы он обслуживал разные страницы в зависимости от заголовка хоста (что делает использование порта 8080 ненужным). Я мог бы сообщить вам подробности, но мне нужно знать, какой веб-сервер вы используете.

РЕДАКТИРОВАТЬ: Если вы используете tomcat, вы должны добавить еще одну директиву Host, подробности можно найти здесь: http://tomcat.apache.org/tomcat-4.1-doc/config/host.html

0 голосов
/ 14 мая 2012

Не возможно.

Но вы можете добавить еще один IP на свой сервер. Таким образом, вы можете привязать свои серверы к разным IP-адресам на одном компьютере. DNS будет указывать на разные IP-адреса, конечно.

И это хорошее решение, особенно если вы используете ipv6. Провайдеры часто выделяют целую кучу адресов ipv6, например / 64, поэтому вы можете привязать разные серверы к каждому из них. :)

0 голосов
/ 11 октября 2011

Возможно использование виртуального хоста Apache. Я не знаю точный синтаксис, но я знаю, что так работает рельсы. Это что-то вроде:

 <virtualhost *:8080>
 servername subdomain.domain.com
 serveralias subdomain.domain.com
 DocumentRoot /path/to/public
 </virtualhost>

перезагрузите apache.

0 голосов
/ 30 мая 2011

Как сказал Борис, это невозможно.

Но вы можете с некоторыми услугами, такими как SIP.

Это включает в себя использование записи SRV на вашем DNS. Но я боюсь, что обычные веб-браузеры проигнорируют это.

Больше на: http://en.wikipedia.org/wiki/SRV_record

0 голосов
/ 16 мая 2009

Вы можете использовать сервис Dyndns.org webhop именно для такой ситуации. До 5 хостов бесплатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...