У меня есть клиент, у которого сейчас есть сайт, не SSL, который хочет печатать материалы с URL-адресом. Однако в ближайшие пару месяцев мы перейдем на SSL, и я хочу убедиться, что публикуемый нами URL будет беспрепятственно перенаправлен, если нам потребуется.
Я использую ASP Classic (и немного .NET) на 64-разрядной версии Windows Server 2003, работающей в 32-разрядном режиме.
Совет?
Спасибо!
Не могли бы вы просто настроить свой сайт на использование SSL, а затем изменить страницу пользовательской ошибки 403.4 для автоматического перенаправления на https? Я использовал такие вещи в течение многих лет, прежде чем мы начали отключать ssl на балансировщике нагрузки. Код на странице настраиваемой ошибки 403-4.htm будет примерно таким:
<html><head><title>Error 403.4</title>
<meta name="robots" content="noindex">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"></head>
<body>
<script language="JavaScript">
var href = self.location.href;
var originalURL = href.substring(7,href.length);
self.location = 'https://' + originalURL;
</script>
</body>
</html>
Это довольно старый скрипт, который существует уже некоторое время, и, вероятно, есть более крутой способ сделать это, но он отлично работает.
Это не обязательно лучшая идея с точки зрения безопасности. Кто-то может выполнить атаку MITM, когда пользователь изначально подключается к http, и перенаправить пользователя на вредоносный сайт вместо вашего доверенного сайта. OTOH, очень распространено перенаправление на https с http-сайта.
Настроить перенаправление в IIS довольно просто. Вот описание процедуры.
http://www.serverintellect.com/support/iis6/iis-url-redirect.aspx