asp.net-core – 无法关闭asp.net 5 MVC 6站点中的requirehttps
我有一个我正在研究的asp.net 5 MVC 6网站.我打开需要HTTPS,如下所示:
services.AddMvc(options => { options.Filters.Add(new RequireHttpsAttribute()); }); 它工作得很好,我已经这样做了一段时间.今天我需要关闭它,所以我注释掉了选项过滤器,但它仍然需要HTTPS. 我没有在控制器或操作本身上使用[RequireHttps]属性. 我已进入属性并取消选中“启用SSL”并将“http URL”粘贴到“启动URL”框中. 我关闭了IIS Express并重新启动了该站点.它似乎并不重要,它继续尝试重定向到HTTPS. IIS Express或Kestral是否可以缓存我需要删除的内容? 解决方法RequireHttpsAttribute 实现将永久重定向响应(301)发送回浏览器:
// redirect to HTTPS version of page filterContext.Result = new RedirectResult(newUrl,permanent: true); 这意味着当您最初启用了属性并请求了像http://localhost:62058/这样的URL时,服务器将响应: 301 (Moved permanently) Location: https://localhost:62058/ 如果您查看301响应代码的definition,您将看到默认情况下浏览器将缓存它:
删除RequireHttps过滤器后,浏览器仍将使用缓存的响应: 因此,在删除RequireHttps过滤器后,您需要做的就是重建并清除浏览器缓存! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |