我有一个受 SSL 证书保护的网站 (www.mydomain.com)。这是一个 ASP.NET 网站,我通过代码强制要求某些页面使用 https://前缀。如果他们不这样做,它会将他们重定向到 https://等价物。这是一个好习惯吗?有没有更简单的方法来做到这一点?并非每个页面都需要 SSL。
此外,当用户以 mydomain.com 而不是 www.mydomain.com 的形式使用我的 URL 时,他们会收到证书错误,因为证书是为 www.mydomain.com 注册的。我应该使用与上面提到的 http://和 https://问题相同的方法吗?或者有没有更好的方法来处理这个?
最佳答案
你的方法听起来不错。在我当前的项目中,当用户进入我的登录页面时,我强制使用 HTTPS(基于一个配置标志,它允许我在本地进行测试而无需处理需要证书)。这使我可以访问其他不安全的页面,这很方便。
我有几个地方,我们的服务器会抓取其他页面的输出(例如,将 html 渲染为 PDF 并获取动态图像)。由于我们的环境,我们的服务器无法解析它的公共(public)名称,所以如果我们要在站点上强制使用 ssl,我们必须添加我们的内部 IP 地址(或伪造域名)。
至于您的第二个问题,您有两种选择来处理 www.example.com 与 example.com。您可以购买允许您拥有多个域名的证书。这些被称为 UCC 证书。
您的第二个选择是将 example.com 重定向到 www.example.com 或相反。如果希望您的内容被谷歌或其他搜索引擎索引,重定向是一个很好的选择。因为他们会将 www.example.com 和 example.com 视为两个单独的站点。这意味着指向您网站的链接将被拆分,从而降低您的整体页面排名。
关于url - SSL 安全网站最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713893/