在使用Certificate/License/Registration
启动网站之前是否需要https
?
我想在Global.asax
文件中使用上述代码。
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"]
+ HttpContext.Current.Request.RawUrl);
}
答案 0 :(得分:1)
首先,我认为你永远不会达到它,因为当你重定向所有请求时,它会一遍又一遍地循环Application_BeginRequest
...
如果请求来自非安全连接(http),也许您所追求的是重定向,不是吗?
为此,看看请求是否来自这样的连接:
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsSecureConnection)
Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri.Replace("http://", "https://"));
}
其次,HTTPS协议需要启动并运行,否则您将收到ERR_SSL_PROTOCOL_ERROR
错误。
在Visual Studio中,您可以在项目属性
中轻松启用https
你会得到不应有的警告
由于Visual Studio在安装时生成了默认的自签名证书。
在生产环境中,您需要:
从您的评论我现在有一些问题......
答案 1 :(得分:0)
当您想使用secure HTTP(使用HTTPS协议)时,您说浏览器和服务器之间的流量是加密的。
这意味着您需要服务器上的证书,以便浏览器和服务器可以决定如何加密流量。
这与重定向无关,也与您的服务器设置无关。