IIS7:干净地将HTTP-> HTTPS

时间:2020-03-05 18:48:22  来源:igfitidea点击:

是否有一种干净的方法可以将所有尝试转到站点的HTTP://版本重定向到等效的HTTPS://?

解决方案

回答

我认为"干净"意味着要进行300次重定向。在此处配置许多服务器和语言。

回答

一种干净的方法仅更改了http-> https中的URL方案,而其他所有内容均等效。它应该在服务器端,这样就不会出现浏览器问题。

JPPinto.com具有有关如何完成此操作的分步说明,除了它们使用javascript(HttpRedirect.htm)而不是服务器端重定向。由于某些原因,如果启用了"显示友好的HTTP错误消息"(默认情况下处于启用状态),则我无法让IE运行javascript。该脚本的另一件事是,即使在FF或者Chrome浏览器中,重定向到路径也不起作用。该脚本始终重定向到root。 (也许我错过了一些东西,因为它应该重定向到path。)

由于这些原因,我将ASP页面用于重定向。缺点当然是这要求在服务器上启用经典ASP。

OpsanBlog具有ASP脚本和与IIS6配合使用的说明。

我在IIS7上使用此方法遇到了一些问题。用户界面主要是问题,因为IIS7确实很容易遗漏某些东西。

  • 首先,我们需要将ASP安装为Web服务器角色功能。
  • 其次,使用虚拟目录无法在IIS7中按预期方式工作,因此我也没有尝试调试它。相反,我将文件放在站点的根文件夹中,并使用403.4错误页面中的URL'/SSLRedirect.asp'进行引用。
  • 最后,最棘手的部分是,我们不得为SSLRedirect.asp强制实施SSL。否则,我们将收到403.4错误。为此,请在IIS7"内容视图"中选择文件,然后切换到"功能视图",以便我们可以编辑单个文件的SSL设置并禁用"要求SSL"复选框。

IIS管理器应在标题中显示文件名。