IP: сопоставление портов с именем - PullRequest
0 голосов
/ 19 августа 2011

Я развернул несколько рельсовых приложений на стоечном сервере под управлением WEBrick. Каждый из них работает на свой порт TCP.

Я могу получить доступ к порту 3000, используя ptotem.com (имя моего домена).
Я могу получить доступ к другим приложениям с помощью ptotem.com:3001, ptotem.com:3002 ..., но я бы хотел получить к ним доступ с помощью appl_one.ptotem.com, app_two.ptotem.com.

Как я могу сделать это с DNS?

Ответы [ 2 ]

0 голосов
/ 29 января 2016

В linux вам нужно добавить строку в ваш файл / etc / hosts.

для локального хоста, тестирования и т. Д.

127.0.0.1 appname.com

или для частной сети

192.168.x.x appname.com

или общедоступный

210.32.197.4 appname.com

0 голосов
/ 19 августа 2011

На самом деле вы не можете этого сделать, механизм именования DNS и механизм портов TCP / IP являются двумя отдельными, не связанными сущностями, которые существуют на разных уровнях модели OSI . Если вы думаете об этом appl_one.ptotem.com:3000, appl_one.ptotem.com:3001 и appl_one.ptotem.com:3002 все еще действительны и позволят вам получить доступ к вашим различным приложениям.

Возможно, вы сможете использовать SRV-записи , если ваш сервер имён и ваше приложение их поддерживают, но поддержка этого в настоящее время редкая и в лучшем случае ненадежная.

Еще одна вещь, которую вы можете посмотреть для HTTP-приложений, это запуск их на одном и том же порту и использование виртуальных хостов с чем-то вроде this .

Когда мне нужно , чтобы делать подобные вещи, я обычно настраиваю свои NIC на несколько IP-адресов (или добавляю больше NIC, если они не поддерживают это) и привязывает мои приложения к определенному IP-адресу, но честно говоря, очень редко вам действительно нужно , чтобы сделать это , чтобы набрать :port в конце строки соединения ...

...