作为一名软件开发人员,我有一个简单的 Web 服务器 (Windows 2012/IIS),用于两个不同的域。一般来说,我有一个基本的“默认”站点作为包罗万象的站点,以及用于特定域或子域的各种其他站点。这些特定站点是我正在处理的项目,而默认站点只是一个通用工具箱。我的问题是关于在这个默认站点上仅将一些域重定向到 HTTPS!
因此,我为此默认站点使用 Let's Encrypt SSL 证书并使用“Certify the Web”来保持证书是最新的。只要我将特定域名绑定到该站点,就可以正常工作。但正如我所说,它是一个包罗万象的网站,所以我可能绑定了 example.com,但 www.example.com 或 my.example.com 未绑定。由于可能存在许多其他子域,因此我倾向于拥有比使用 SSL 的页面更多的页面。这很好!没问题。
但是,当有人访问绑定域的站点时,我希望他们被重定向到安全站点。因此,如果他们访问http://example.com,他们最终会访问https://example.com。虽然我可以强制 IIS 将所有请求重定向到安全版本,但这样做会导致在我的服务器上找不到大多数域,因为它们未绑定。所以我只想要绑定到这个默认站点的站点的重定向。
还有另一种解决方案,即创建第二个默认站点。这将强制实施 SSL,以便绑定站点是安全的。但这是用于各种项目的小型服务器,我不希望在我已经拥有的 40 个站点列表中再有一个站点。(而且这个列表往往会增长得更多。)所以我想知道是否可以只为绑定的站点强制 SSL,而未绑定的站点不会被重定向。
(如果您想知道,默认站点后面会有一些特殊的逻辑,并且安全域将具有登录功能,让我处理一些额外的管理任务,例如检查日志和服务器健康状况。这不是一个简单的默认站点! )
这个网站上有一个很棒的教程在这里
如果您按照此操作,那么您应该可以设置重定向没问题!
这将允许您为您选择的任何站点设置重定向。