我在Rabbitmq服务器中使用自签名证书,并且该代理已通过SSL端口成功启动。我现在正在尝试续订/使用新的SSL证书,SSL密钥和信任库,但由于我的应用程序应连续运行,因此我不想重新启动正在运行的Rabbitmq服务器。我在网上检查了用于在运行时刷新/重新加载erlang / rabbitmq以读取/重新加载这些新SSL证书的解决方案,但我偶然发现了一些建议使用的链接-rabbitmqctl eval "ssl:stop(), ssl:start()." to reload certs
。
该命令运行正常,并且无需重启rabbitmq即可刷新新的SSL证书,但使用方/连接已重置,因此我的应用程序无法再从队列中读取消息。
您能帮我解决这个问题吗?我想在不重新启动我的Rabbitmq或应用程序的情况下重新加载新的SSL证书,并且Rabbitmq必须能够在不重置任何连接的情况下正常运行我的应用程序。 如果不是很好,请就如何重新建立连接建议我,以便我的应用程序按预期运行。
答案 0 :(得分:0)
发现较新版本的Erlang会自动更新其PEM缓存,因此您所需要做的就是放置新证书,然后等待几分钟。
如果您需要尽快强制使用新证书,可以使用
rabbitmqctl eval 'ssl:clear_pem_cache().'
这将重新加载证书,而不会断开任何发布者或使用者的连接。