Nginx 用户上传了 SSL 证书

Nginx 用户上传了 SSL 证书

我想知道让用户上传 SSL 证书的最佳方法是什么。我有一个基于 rails/passenger/nginx 的多租户应用程序,我需要每个用户使用自己的域和 SSL 证书。那么解决这个问题的最佳方法是什么呢?我觉得每次上传新证书时上传证书并在每台服务器上重新加载 nginx 不是一个好的解决方案。

答案1

您需要向 nginx 发出信号以重新加载 TLS 证书。如果您不这样做,您的愿望就不可能实现。

部分原因是检查是在配置加载时/静态进行的(文件存在、内容有效性、私钥匹配等),而这些检查无法在访问时/动态地(处理请求时)合理地完成,这会降低性能,甚至影响在合理的时间内处理任何请求的能力!

现在,如果您可以接受重新加载,那么让 nginx 允许人们将文件放到 nginx 加载它们的位置就是不明智的,因为您提供了一种直接的方式来危害您的服务器,无论是故意/恶意的,还是意外的,如果用户加载了错误的证书,则无法替换它,因为服务器不会接受它!

幸运的是,nginx 有安全措施来防止后者,不会加载错误的配置。但仅出于第一个参数的考虑,您应该为此操作使用侧通道,并且永远不要使用同一个。

相关内容