无法修改Dockerfile时,如何在Spring Boot的application.properties中启用SSL调试日志
能否通过application.properties配置JVM参数输出SSL调试日志?
不行,没法直接通过application.properties来配置JVM系统参数开启SSL握手调试日志。
原因很简单:javax.net.debug是JVM级别的系统属性,必须在JVM启动时传入才能生效;而application.properties是Spring Boot应用启动后才会加载解析的配置文件,此时JVM已经启动完成,再设置这类参数根本起不到作用。
给你两个可行的替代方案,不用修改Dockerfile就能实现:
- 运行容器时通过环境变量传递JVM参数:
Spring Boot官方镜像的启动脚本会自动读取JAVA_OPTS环境变量,并把它追加到JVM启动参数里。你可以在docker run时加上这个变量:docker run -e JAVA_OPTS="-Djavax.net.debug=ssl:handshake:verbose" 你的镜像名 - 如果用Kubernetes部署,在Pod的环境变量配置里添加:
env: - name: JAVA_OPTS value: "-Djavax.net.debug=ssl:handshake:verbose"
这样就能在不修改Dockerfile的前提下,让第三方Spring Boot镜像输出SSL握手的调试日志了。
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

