最近,我们尝试制作我们的artifactory https。
我们按照通常的步骤,将其放在 nginx 后面,同时还有另一个 nginx 来帮助 http 到 https 重定向 [通常返回 301 并重定向]。
由于我们使用 http 很长时间,因此有很多脚本使用了我们的artifactory 的 http URL:
从 curls [不带 -L] 开始,Ansible 角色引用 http url,terraform 引用 http url 等。所有这些都在我们的 git 存储库的几个分支中。在推出 SSL 后,即使从 http 重定向到 https,大多数这些显然都会失败。其中一些很关键,我们最终切换回了 http。
我相信这几乎是所有组织的典型情况。我想了解一下,你们如何规划此类 SSL 部署以及如何解决此类问题。
有没有关于此的最佳实践?
答案1
你最好的选择是始终从软开始:你的方法是正确的启用TLS,但你不应该力量从一开始就重定向。
在这一点上,划一条线,告诉所有人,任何新的从现在开始,脚本都要利用 TLS“否则”。
下一步是检查所有使用纯 http 调用服务器的旧脚本,并逐步确保它们继续使用 TLS 工作。显然,在这一步中,您不想只进行“grep 和替换”。
最后,当您确定所有现有脚本都仅建立 TLS 连接时,通过禁用纯 HTTP 或将连接重定向到 HTTPS(如果客户端足够智能能够理解后者)来强制执行该协议。