Spring 引导属性在进程列表中可见(ps)

Spring Boot properties are visible in process list (ps)

我有一个 Spring 引导过程,我通过 shell 运行,即

my-shell# java -jar my-app.jar --secret.password=text2000

一切正常,但在发布后

ps -ef | grep "my-app" | grep -v grep 

我可以看到密码和所有其他不太好的属性。

我该怎么做才能不这样暴露密码?如何保护我的密码 无法通过 ps -ef?

以任何形式查看它

您可以将它们放入 application.properties(或 application.yml)或使用环境变量或您的部署环境(如 Kubernetes Secrets)提供的一些类似机制将它们传递到您的应用程序进程中。

请注意,仅仅从进程列表中隐藏机密(或其位置)不会提高应用程序的安全性。您应该使用加密来保护您的秘密。