我正在使用OVH Server和SSL Gateway Free,我已经托管了我的MVC5应用程序。
当我试图仅强制使用HTTPS连接时,我的浏览器显示:
“ERR_TOO_MANY_REDIRECTS”。
我正在尝试各种各样的事情和解决方案,但没有一个有效。
我在我的项目属性中启用了SSL,尝试通过我的IIS上的URL重写重定向,然后是tutorial以及其他许多人,在我的<template>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">{{ msg }}</a>
</div>
</div>
</nav>
</template>
<script>
...
</script>
<style>
...
</style>
上使用[RequireHttps]
以及许多Global.asax中BaseController
的配置。
f.e:
Application_BeginRequest()
不知道如何强制只使用HTTPS连接。
答案 0 :(得分:2)
@PeteG回答是对的。 IsSecureConnection无法正常工作,您只需使用此代码:
InitializeComponent();
propertyGrid.LineColor = SystemColors.InactiveBorder;
答案 1 :(得分:-2)
因为重定向进入循环。它一次又一次地调用同一页面。像死锁一样。 使用此代码
if (Request.Url.Scheme.Contains("http"))
{
Response.Redirect(string.Format("https://{0}{1}", Request.Url.Authority, returnUrl), true);
}
或
protected void Application_BeginRequest(Object source, EventArgs e)
{
if (!Context.Request.IsSecureConnection)
{
Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"));
}
}