2016-01-22 2 views
0

Я не уверен, может ли это быть достигнуто в коде или если это правило должно применяться в ISS.Перенаправить ТОЛЬКО на запрос SSL в другой домен MVC

В принципе у меня есть три области:

domain1.co.uk > redirects to .com 
domain1.com > Primary domain registered with SSL 
domain1.ie > I want to redirect this to .com based on SSL request 

Я настроил мое приложение MVC, чтобы отобразить относительное содержание на основе домена. Поэтому, если запрос поступает из адреса .ie, тогда я могу отображать соответствующий контент/метаданные и т. Д. Однако моя проблема в том, что когда я посещаю/Account/Login в режиме HTTPS, я получаю ошибку SSL, так как сертификат зарегистрирован под. com.

Я бы очень хотел сохранить привязку .ie для статического сайта HTTP и проиндексировать это в Google, но как только пользователь попытается перейти на HTTPS, я бы хотел перейти в домен .com.

Ценю я могу сделать это, изменив ссылки по всему сайту, и я также пытался ниже, не помогло:

protected void Application_BeginRequest() 
{ 
    if(Context.Request.IsSecureConnection && Context.Request.Url.ToString().Contains("domain1.ie")) 
     Response.Redirect(Context.Request.Url.ToString().Replace("domain1.ie", "domain1.com")); 
} 

Может кто-нибудь помочь?

ответ

0

Проблема в том, что даже при наличии переадресации браузер должен сначала получить доступ к сайту SSL в домене .ie, чтобы веб-сервер мог отправлять перенаправление. Таким образом, они все равно получат неверную ошибку сертификата.

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

Что касается фактического перенаправления, это можно обрабатывать непосредственно в IIS, настроить привязку для SSL только на домене .ie отдельно от основного веб-сайта. Установите физический путь в пустой каталог (он не будет обслуживать какой-либо контент). Затем установите перенаправление http для всех запросов с 301 постоянным.

IIS 7 redirect

Смежные вопросы