回答
在您的Web服务器中,只需将HTTP网址重定向到相应的HTTPS网址。请检查http://www.jppinto.com/2010/03/automatically-redirect-http-requests-to-https-on-iis7-using-url-rewrite-2-0/
您可以添加代码在你的Global.asax.cs文件
protected void Application_BeginRequest()
{
if (FormsAuthentication.RequireSSL && !Request.IsSecureConnection)
{
Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"));
}
}
我试过这个解决方案,运行良好。但是如果我添加Application_BeginRequest(),我的网页加载多次。那背后的原因是什么? –
在Global.asax.cs
只需添加该代码。考虑本地发展的Request.IsLocal
。
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
if (!context.Request.IsSecureConnection && !context.Request.IsLocal)
{
Response.Redirect(context.Request.Url.ToString().Replace("http:", "https:"));
}
}
我试过这个解决方案,运行良好。但是如果我添加Application_BeginRequest(),我的网页加载多次。那背后的原因是什么? –
我不明白'我的网页加载多次'的意思。如果你请求** http **,它将被重定向到** https **,所以2个请求将被发送到服务器。如果您请求** https **,则不会发生Response.Redirect – dimonser
是的,我知道2个请求将发送到服务器。但是,在这两次请求之后,再次加载页面,但没有输入'Application_BeginRequest'。我试图创建一个示例网站,并添加'Application_BeginRequest'多次加载页面,不明白为什么? –
做,这是在IIS中最简单的方法。
在网站下选择“SSL设置”并勾选'需要SSL'复选框并点击应用。
这种方法的好处是它更安全(代码中的错误不会允许非SSL请求),并且实现起来更容易,更快速。缺点是对HTTP URL的请求不会自动重定向,但您没有声明这是必需的。
如果是需求,也可以使用IIS URL Rewrite模块实现此功能。
我试着实现URL重写模块,但在完成链接中提到的所有设置后,网站仍然运行在http上,而不是重定向到https –
@MicrosoftDN在链接中?我没有发布链接。您是否对错误的帖子发表评论(和投票)? –
- 1. 如何使网站仅与https工作
- 2. 如何在HTTPS网站上运行HTTP源JavaScript?
- 3. https在第三方非https网站上
- 4. 使用https从一个运行在http的网站访问CDN
- 5. WP网站 - 从上运行的网站
- 6. 如何仅在部分网站上实现HTTPS?
- 7. 运行https的网站的地图控件https
- 8. HTTPS网站上的Youtube Iframe
- 9. HTTPS网站上的HTTP
- 10. Chrome扩展程序未在https网站上加载使用https
- 11. 在https上运行gunicorn?
- 12. 在HTTPS上运行Grails
- 13. Docker - 在HTTPS上运行Jetty
- 14. 在Ipad上运行PHP网站原生
- 15. 在外部网站上运行MTurk HIT
- 16. 网站未在Chrome和Firefox上运行
- 17. 刷新后在网站上运行javascript
- 18. 让我的网站在EC2上运行
- 19. 在网站加载上运行javascript
- 20. 在网站上运行Python文件
- 21. 在虚拟机上运行Sharepoint网站
- 22. 在网站上运行JavaScript命令
- 23. Javascript未在我的网站上运行
- 24. 在Wordpress上运行PHP网站
- 25. 在破损的网站上运行phantomjs
- 26. 在网站上运行java类
- 27. 在azure网站上运行processing.js
- 28. 在网站上运行C#程序
- 29. 在Docker上运行python网站
- 30. 在asp.net网站上运行powershell脚本
我试图实现这种方法,但在完成链接中提到的所有设置后,网站仍然运行在http上而不是重定向到https。 –