关于Server JRE 8中deployment.security文件位置及创建合法性的问询
我来逐个解答你的问题,先澄清下:你提到的deployment.security其实是配置项的命名前缀,对应的配置文件是deployment.properties,不是单独的deployment.security文件,这点先明确下~
问题1:Server JRE 8中存储deployment.security相关设置的文件位于何处?
Server JRE 8和标准JRE的配置文件位置逻辑一致,分两种层级:
- 系统级配置:位于Server JRE安装目录下的
lib\deployment.properties(Server JRE默认不会自带这个文件) - 用户级配置:位于用户目录的
C:\Users\<你的用户名>\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
所有deployment.security.*开头的配置项,都需要写在这个deployment.properties文件里。
问题2:Oracle Java Server JRE是否包含deployment.security文件?能否安全创建该文件并放置在C:\Program Files\Java\jre7\lib\目录下?
首先纠正:不存在单独的deployment.security文件,相关配置都封装在deployment.properties中。
- Oracle Java Server JRE默认不包含
deployment.properties文件,因为它是为服务器端应用设计的,默认不需要启用桌面Java插件(比如Applet、Java Web Start)相关的安全配置,所以不会预装这个文件。 - 你可以安全创建
deployment.properties文件,但要注意:如果是针对JRE 7的配置,放在C:\Program Files\Java\jre7\lib\目录是正确的系统级路径;但你当前运行Tomcat用的是Server JRE 8,所以应该把配置文件放在Server JRE 8的安装目录C:\Program Files\Java\server-jre-8u152-windows-x64\lib\下,这样才能对Tomcat使用的JRE生效。
问题3:针对你的生产环境部署建议
你的场景是Windows 2008 R2 + Tomcat 8 + 无安装程序的Server JRE 8u152,操作建议如下:
- 创建系统级配置文件:
- 以管理员身份打开文本编辑器(比如Notepad++),创建空白文件并命名为
deployment.properties - 将安全清单中的6项配置按格式写入,示例如下:
deployment.security.crl.mandatory=true deployment.security.ocsp.enabled=true # 其他配置项依此类推 - 将文件保存到
C:\Program Files\Java\server-jre-8u152-windows-x64\lib\目录下(注意需要管理员权限才能写入Program Files目录)
- 以管理员身份打开文本编辑器(比如Notepad++),创建空白文件并命名为
- 验证配置生效:
- 在测试环境先验证:打开命令提示符,切换到Server JRE的
bin目录,执行java -XshowSettings:properties,查看输出中是否包含你配置的deployment.security.*项 - 重启Tomcat服务,确保服务正常运行,同时可以检查Tomcat日志或Java安全日志(路径在
C:\Program Files\Java\server-jre-8u152-windows-x64\lib\security\java.security中配置),确认没有配置相关的报错
- 在测试环境先验证:打开命令提示符,切换到Server JRE的
- 生产环境注意事项:
- 生产部署前务必在测试环境完全验证,避免配置错误导致服务异常
- 保持配置文件的权限为只读(仅管理员可修改),防止意外篡改
内容的提问来源于stack exchange,提问作者Bruce Dimon
相关产品推荐
相关产品推荐

