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