HTTP-перенаправление работает частично

HTTP-перенаправление работает частично

У нас есть два приложения за нашим маршрутизатором, которые прослушивают порт 80/443. У маршрутизатора есть только один действительный IP-адрес. Первое приложение — это почтовый сервер, а второе — наш сервер управления исходным кодом.

В этом случае одним из решений является настройка каждого приложения на прослушивание отдельного порта. Это нежелательно для нас.

Итак, у нас есть один сервер Windows/IIS, который получает весь интернет-трафик и действует как своего рода прокси-сервер.

Для этого мы создали два сайта.

Мы создали первый сайт, как показано ниже:

  • Связано с mail.mydomain.com:80и autodiscover.mydomain.com:443.
  • HTTP-перенаправлениекhttp://192.168.50.12
  • Перенаправить httpнаhttps

И второй сайт, как показано ниже:

  • Связанный сscm.mydomain.com:80
  • HTTP-перенаправлениекhttp://192.168.50.85

Оба сайта отправляют код статуса HTTP-301 при перенаправлении.

Первый вариант хорошо работает как из внутренней сети, так и из внешней.

Второй работает из внутренней сети, но не из внешней. Причина в том, что когда мы просматриваем первый сайт http://mail.mydomain.com, URL в адресной строке браузера не меняется, но при просмотре второго сайта URL меняется с http://scm.mydomain.comна http://192.168.50.85и, очевидно, не работает извне.

Все хосты (mail, autodiscover, scm) определены в нашем внешнем DNS как записи A, указывающие на единственный действительный IP-адрес, который у нас есть.

Почему так происходит, если оба сайта настроены одинаково?

Связанный контент