Перенаправить несколько доменов с одинаковым IP-адресом
Наша компания на протяжении многих лет имела несколько доменных имен для защиты нашего продукта. Когда наш веб-сайт был впервые настроен, у нас были все доменные имена, разрешенные по IP-адресу, которые до сих пор работали нормально. Мы переписали сайт с ASP.NET MVC и теперь используем Recaptcha. Ключи Recaptcha зарегистрированы на "www.example.com", который является нашим основным доменом. У нас есть другие домены, такие как "www.examples.com" и "www.ex-ample.com", которые указывают на один и тот же IP-адрес. когда кто-то заходит на наш сайт из альтернативных доменов, Recaptcha не работает, потому что ключи не зарегистрированы для этого альтернативного домена. Мы хотели бы перенаправить все, что приходит с "www.examples.com" на "www.example.com".
Я прочитал, что вы можете настроить сайты в IIS и использовать постоянное перенаправление, но будет ли это работать, если все домены будут указывать на один и тот же IP-адрес?
Мы также установили модуль перезаписи для IIS 7, потому что многие наши страницы переместились, когда мы перешли на MVC. Можно ли написать правило и если да, то как?
Есть ли лучшая альтернатива, которую мы должны использовать?
Любая помощь, чтобы пролить свет на это очень ценится.
У меня нет проблем с настройкой доменов в IIS, будет ли это работать, если все домены будут указывать на один и тот же IP-адрес? Если я зайду на www.example.com (192.168.1.1), он когда-нибудь окажется на www.examples.com (192.168.1.1), который перенаправляет на www.example.com и вызывает бесконечный цикл, потому что они находятся на одном IP адрес?
Как сделать CNAME на DNS-сервере Windows 2003?
4 ответа
Для подхода CNAME вам нужно выбрать ОДНО доменное имя и сделать его своим основным. Так что сделайте www.example.com доступным, и каждое ДРУГОЕ доменное имя будет перенаправлено на это. Тогда вы можете избежать бесконечного цикла.
Существует также способ настроить конфигурацию на сервере, чтобы браузеры позволяли нескольким доменам просматривать один файл cookie, в данном случае www.example.com, а затем при www.examples.com и www.ex-ample.com попробуйте прочитать информацию о сессии www.example.com, она будет работать. Это позволит вам иметь несколько URL-адресов в браузере и поддерживать общие сеансы.
Лично я бы просто перенаправил их всех в один домен, НАМНОГО проще реализовать.
Ну действуй:
127.0.0.1 A example.com
www.exmaple.com CNAME example.com
examples.com CNAME example.com
www.examples.com CNAME example.com
и т.п.
РЕДАКТИРОВАТЬ: Да, я спал, когда я написал это. Это только часть решения, остальную часть я разместил ниже.
Да, вы можете сделать это через IIS URL Rewrite
Модуль.
Вот пример:
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^examples.com$" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
</rule>
Хорошо, помимо моего решения CNAME, вы должны будете сделать следующее:
Решение IIS заключается в настройке 2 сайтов в диспетчере IIS:
- example.com (установлен в заголовке хоста), который является фактическим сайтом, указывающим на правильный домашний каталог.
- все остальные домены будут настроены под одним "веб-сайтом" с добавлением заголовков хостов в Свойства-> Веб-сайт-> Дополнительно. Для домашнего каталога сделайте его URL-адрес перенаправления на example.com.
Проблема с этим подходом заключается в том, что, по-моему, запрос на www.examples.com/somepage.htm будет перенаправлен на example.com/. (Не будет указывать на example.com/somepage.htm)
Теперь то, что вы можете сделать в IIS7 (или IIS6 с надстройкой Isapi_Rewrite), - это настроить запись.htaccess на веб-сайте перенаправления для отправки всего трафика на example.com и добавления информации о пути и строке запроса.
Скорее всего, вы можете посмотреть DNS CNAME здесь.
Другим возможным решением является создание веб-сайта в IIS с псевдонимами доменов для всех остальных ваших доменов, и этот веб-сайт перенаправляет пользователя на ваш основной домен / сайт.