在重新启动期间,将https密码传递给Nginx【JAVA教程】

!
也想出现在这里? 联系我们
信息

在重新启动期间,将https密码传递给Nginx,第1张

概述在重新启动期间,将https密码传递给Nginx

我通过ansibleconfiguration了Nginx的安装和configuration(连同https站点的安装SSL证书)。 SSL证书在密码下。

我想写一个正在重新启动Nginx的ansilbe任务。 问题在于。

通常情况下,https://site里面的Nginx在重启过程中要求inputPEM pass phrase 。 Ansible在执行剧本期间不要求密码。

有解决scheme将解密的证书和密钥存储在某个私人目录中。 但是我并不想把我的证书和密钥放在没有encryption的地方。

是一个优雅的重载幂等的安全吗?

如何做一个健康检查的windows启动应用程序运行在windows Docker windows容器与Ansible?

只有在variables包含特定string时才运行Ansible任务

PowerShell删除项目文件夹失败只有当通过Ansible运行

在windows上安装Ansible

如何通过ansible将密码传递给Nginx(或openssl)? 完美的场景如下:

Ansible要求提供SSL密码(通过vars_promt )。 另一个select是使用可靠的保险库。

Ansible正在重新启动Nginx,当Nginx请求PEM pass phrase密码时,ansible会将密码传递给Nginx。

可能吗?

使用Ansible安装Bundler gem

Ansible linux部署错误{“Failed”:true,“parsed”:false}

Ansible – pipe理windows 2003和WinRM连接超时

shell的init:错误检索当前目录:getcwd – 通常的修复不工作

Ansible:将一个唯一的文件复制到组中的每个服务器

Nginx具有ssl_password_file参数。

指定一个密码为密钥的文件 ,其中每个密码在一个单独的行上指定。 加载密钥时会依次尝试密码。

例:

http { ssl_password_file /etc/keys/global.pass; … server { server_name www1.example.com; ssl_certificate_key /etc/keys/first.key; } server { server_name www2.example.com; # named pipe can also be used instead of a file ssl_password_file /etc/keys/fifo; ssl_certificate_key /etc/keys/second.key; } }

你可以做的是把ssl_password_file保存在ssl_password_file -vault中,复制它,重新启动Nginx,然后如果成功删除它。

如果实际工作或者其他可能产生的副作用(例如,手动service Nginx restart可能会失败),我没有第一手经验,但对我来说这似乎是合乎逻辑的方法。

如果你对私钥有足够的权限(比如只让Nginx能够读取),这可能就足够了。 无论如何,Nginx将不得不将其加载到内存中。 攻击者可能很难恢复,但如果他们拥有root权限,则应该考虑密钥泄漏。

或者,您可以将密码输入到正在重新启动的命令中(例如echo mypass | service Nginx restart )。 这将导致它在进程列表上以纯文本显示,不应被视为更安全。

我建议锁定文件的权限,而不是有一个密码。 我不相信Ansible有任何方法来指定对个别提示的回应,而不是sudo。

总结

以上是内存溢出为你收集整理的在重新启动期间,将https密码传递给Nginx全部内容,希望文章能够帮你解决在重新启动期间,将https密码传递给Nginx所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞178 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容