java - 弹性 beanstalk 上的 Tomcat : How to change server. 弹性 beanstalk 上的 xml 以禁用命令行参数的日志记录?

标签 java amazon-web-services tomcat amazon-elastic-beanstalk apache-commons-logging

我在 AWS Elastic beanstalk 上有一个 tomcat 应用程序,建议 here我正在使用环境属性设置与数据库的 jdbc 连接,此参数包括数据库的用户和密码。 问题是,tomcat 记录器在其启动时记录所有参数,看起来像这样

INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -DJDBC_CONNECTION_STRING=jdbc:mysql:///localhost:3306/mydatabase?user=me&password=mypassword

我不希望这些敏感数据出现在实例日志中。如何告诉 Tomcat 不要记录命令行参数? {或针对该问题的任何其他安全解决方案}

更新: 所以似乎删除了行 来自 Tomcats server.xml 对我的本地 tomcat 起作用了 (Thanks cyril )

但是我该如何在 Elastic Beanstalk 上进行设置呢? 我试图在 .ebextensions 文件夹中创建一个脚本,在 this 上有变体但它对我不起作用,参数仍然被记录下来。但我不确定我使用的是 windows 还是不太熟悉 linux 脚本。也许有人可以帮助我正确创建该脚本?如何检查脚本是否在弹性 beantalk 实例上运行以及 server.xml 是否更改?

最佳答案

想到的另一个选择是使用 Java 配置运行 Elastic beanstalk 并使用 Spring Boot 应用程序(或其他嵌入式 Tomcat 部署),而不是使用 Tomcat配置和 war 。这使您可以完全控制您的应用 Bootstrap 。

关于java - 弹性 beanstalk 上的 Tomcat : How to change server. 弹性 beanstalk 上的 xml 以禁用命令行参数的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44024140/

相关文章:

ios - AWS Mobile hub with Cocoa pods Apple Mach-O 链接器错误

amazon-web-services - AWS Redshift Spectrum - 如何获取外部表中的 s3 文件名

java - MySQL在Tomcat中的最佳用法?

tomcat - 客户端证书未发送到服务器

java - 如何配置tomcat,以便以前运行的类不会保留在内存中

java - InputStream 在监听 BluetoothSocket 时没有得到任何东西

java - 编码结果相同,但散列结果不同

java - 使用 Glide 拉伸(stretch)图像以适应 ImageView

java - 在 Java 中使用 HtmlUnitDriver 处理警报

python - aws cdk python 无法获取应用程序目标组