首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS 6.0中优雅地执行SSL

在IIS 6.0中优雅地执行SSL
EN

Server Fault用户
提问于 2009-05-20 21:29:31
回答 3查看 2.4K关注 0票数 4

我有一个在IIS下运行的网站,它应用了SSL证书。我们希望对网站强制使用HTTPS,这是通过检查“”框轻松完成的,但这将立即破坏人们通过HTTP (按设计的方式)连接的能力。

我想做的是找到一种方法,如果人们输入错误的东西(或者从旧书签连接),就可以自动地从HTTPS重定向。

有没有办法做到这一点,而不创建第二个网站的IIS?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2009-05-20 21:34:34

如果您需要在服务器级别执行此操作,则必须创建另一个站点并将其转发到https站点。

如果您可以编辑代码,则不能在服务器级别强制使用ssl,而是可以在网站中检测网址是否以http:开头,然后用https:重定向到同一个url。

票数 3
EN

Server Fault用户

发布于 2009-05-20 22:04:56

我把这个贴在StackOverflow

如果使用“”设置配置了服务器/site/vdir,则来自服务器的响应将是"403.4禁止: SSL才能查看此资源“。错误或"403.5禁止: SSL 128是查看此资源所必需的。“

您实际上可以自定义403.4或403.5错误,以便将其重定向回HTTPS。在您的站点下创建一个不需要SSL的VDIR (**这很重要)--我使用"CustomError“。在这个名为403_4_Error.asp的目录中创建一个ASP文件,其中包含以下内容:

代码语言:javascript
复制
<%@ LANGUAGE="VBScript" %> 
<%
if Request.ServerVariables("HTTPS") <> "on" then
    sServer = Request.ServerVariables("SERVER_NAME")
    sScript = Request.ServerVariables("SCRIPT_NAME")
    sQuery  = Request.ServerVariables("QUERY_STRING")
    Response.Write("https://" & sServer & sScript & "?" & sQuery)
end if
%>

为403.4/403.5编辑server/site/vdir的自定义错误属性,并将MessageType设置为URL,将URL设置为"/CustomError/403_4_Error.asp“。

注意,如果使用了ASP,您可以很容易地使用ASP.net或任何其他脚本语言。

票数 8
EN

Server Fault用户

发布于 2009-06-02 17:09:00

最后,我们在应用程序代码中这样做;我们的页面基类早期检查它是否在HTTP中,并根据需要重定向到HTTPS。这取决于您对应用程序代码的信任程度:)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/10556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档