Возможно ли использовать CNAME (псевдоним) для <host: port>

Есть ли способ скрыть порт от url и использовать cname (alias) вместо:.

Например, Если мой url http://myserver.com:40089/webapps/index.jsp Возможно ли это для меня http://mycname/webapps/index.jsp

Причина, о которой я говорю, я могу обойти коробку под названием myserver.com, чтобы сказать myserver1.com. Я не хочу, чтобы клиент всегда менял этот URL-адрес, когда я двигаюсь. Вместо этого мой клиент должен не знать, где работает служба, и на каком порту.

Возможно ли это? Я использую причал как мой веб-сервер.

Спасибо заранее.

Ответ 1

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

В описанной ситуации существует несколько проблем:

  • Если вы установили CNAME в свой DNS, вам, вероятно, придется изменить свой веб-сервер, чтобы обрабатывать новое имя хоста, потому что HTTP-протокол работает следующим образом
  • как @stevevis сказал, что вы потеряете свои файлы cookie и кеши и даже рейтинги в поисковых системах.
  • вам все равно нужно указать номер порта в ваших адресах: http://mycname:40080/webapps/index.jsp

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

Но есть решение этой проблемы с небольшими жертвами.

Вы можете установить обратный прокси-сервер HTTP для перенаправления запросов на веб-сервер (например, HAProxy, nginx и т.д.), но с этим вы потеряете IP-адрес первоначальных клиентов (конечно, вы можете перенаправить его в HTTP-заголовок, но вы должны изменить код в вашем предыдущем домене, чтобы справиться с этим).

Ответ 2

Попробуйте использовать запись SRV для этого. Это то, что я использовал для получения пользовательского домена для моего сервера minecraft.

Ответ 3

Нет. CNAME отображает только имена, а не порты. Вам нужен обратный прокси-сервер, если вы хотите сопоставить x: b с c: d.

Ответ 4

да и нет... да, вы можете использовать cname взаимозаменяемо (хотя имейте в виду, что файлы cookie не могут идти в пути в зависимости от их домена), но если ваш сервер работает на порту, отличном от 80, вы 'нужно указать номер порта в URL.