Хотите иметь приложение (сервер: порт), чтобы иметь дружественный псевдоним - Понимание псевдонима хоста / DNS / A Record / CNAME

Я пытаюсь разобраться с Windows, сетями и доменами.

В настоящее время у меня есть сервер - svr. Это на моем домене companyname.co.uk

Я могу подключиться к серверу и пинговать svr и svr.companyname.co.uk.

На этом сервере у меня есть ряд приложений с веб-доступом; TeamCity, Octopus и т. Д. В настоящее время мы подключаемся к ним, перейдя к svr:xxxx, где xxxx - это порт хоста веб-приложения ( http://svr:9090/ для TC)

Я хочу создать дружественный псевдоним - например, teamcity.companyname.co.uk будет указывать на svr:9090, octopus.companyname.co.uk будет указывать на svr:8090.

Однако, не имея опыта в этой области, я не могу найти соответствующие документы или сайты, которые полностью объясняют то, что я ищу.

1 ответ

Во-первых, чтобы прояснить одну вещь: когда вы посещаете веб-страницу, как http://example.comВаш веб-браузер на самом деле делает запрос example.com:80, Это сделано прозрачно, потому что порт 80 является стандартным портом для протокола HTTP. Как вы знаете, вы можете запросить нестандартный порт, добавив его к доменному имени в URL: http://example.com:888/,

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

Одним из решений будет использование прокси - nginx, apache, lighttpd, и другие могут все это сделать.

Идея заключается в том, что вы настроили прокси-сервер, который прослушивает порт 80 на вашем хосте. Он ожидает подключения, а затем перенаправляет эти подключения на другой сервер (на том же хосте или на другой) на основе некоторого правила. Так, например, у вас могут быть правила, которые выглядят примерно так:

IF host = teamcity.companyname.co.uk THEN forward to teamcity:9090
IF host = octopus.companyname.co.uk THEN forward to octopus:8090

Синтаксис этих правил широко варьируется в зависимости от конфигурации прокси, так что это всего лишь пример.

Обратите внимание, что это не перенаправление - браузер пользователя подключается к teamcity.companyname.co.uk для всех запросов. Это прокси, который отправляет запрос в другой сервис и пересылает любые ответы клиенту "за кулисами".

Эти конфигурации прокси могут быть довольно сложными. Например, что если ваше приложение teamcity обслуживает страницу со ссылкой, указывающей на http://teamcity:9090/path/to/page? Браузер пользователя потерпит неудачу, если он нажмет на эту ссылку. К счастью, прокси могут быть настроены для перезаписи URL-адресов, как это на лету. Вам нужно будет провести некоторое исследование, чтобы адаптировать это решение к вашей ситуации.

Другие вопросы по тегам