我在 SharePoint 上有一个站点,并且已成功实现 HTTP 到 HTTPS 重定向。
但是,如果用户转到 URL 并从“https”中删除“s”,则无需 SSL 即可访问网站。
我想要一种方法来在所有情况下强制将用户重定向到 HTTPS。如何使用 IIS 或 SharePoint 中央管理来实现这一点?
答案1
你可以设置 HSTS(RFC 6797) 以及从 HTTP 到 HTTPS 的重定向。(HSTS 是不支持如果为 HTTP 站点打开,并且实际上在 HTTP 连接中包含 HSTS 标头,则违反了 RFC;HTTPS必须被使用,并且RFC要求忽略通过非安全传输收到的任何 HSTS 标头。
通过设置 HSTS(HTTP 严格传输安全),您可以指示任何兼容的 Web 浏览器:
- 如果 HTTPS 建立过程中出现任何错误,则拒绝连接服务器
- 拒绝通过纯文本 HTTP 连接服务器
在最大年龄在 HSTS 标头中说明。
只要确保你没有搞乱 HTTPS 配置或遇到证书问题,否则你将要将人们拒之门外。(章节8.4 安全传输建立中的错误和12.1 无用户追索权。
大多数现代网络浏览器支持 HSTS,并开启它不会造成任何明显伤害(一个额外的小 HTTP 标头)对于那些不需要的。
为了获得更多实用性,您应该结合这个固定301 Moved Permanently
每当通过 HTTP 请求页面时,使用 HTTPS 指向相应的位置。您的问题有点不清楚您是否真的做到了这一点;您说您“已经成功实现了 HTTP 到 HTTPS 的重定向”,但如果您完全成功了,那么每当用户尝试通过 HTTP 访问网站时,他们都会简单地被重定向回 HTTPS。与此结合使用时,HSTS 的优势在于它指示浏览器根本不使用 HTTP对于相关域名;301 重定向仅适用于特定的 URL。