[英]Update server.xml file of Tomcat using Java
我是tomcat管理局的新手。
我的要求是,admin用户可以上传需要应用于tomcat的证书文件。
目前,我的tomcat server.xml,Connector标签看起来像
<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" clientAuth="false" sslProtocol="TLS" acceptCount="100" scheme="https" secure="true" keystoreFile="${catalina.base}/conf/tomcat.p12" keystoreType="PKCS12" keystoreAlias="tomcat" keystorePass="password" SSLEnabled="true"/>
在运行时,管理员用户可以使用提供的Web门户上传新的.p12证书文件和密码。 在服务器端,我必须使用java更新Connector
标签的keystoreFile
和keystorePass
参数。
这样就需要新的证书文件。
在我的搜索中,有些人建议使用2个server.xml文件。 有人告诉编辑server.xml文件。 在tomcat docs中提到它,因为这个参数在系统环境中是可配置的,并且可以直接更新。
我尝试更新系统环境参数思维是一个简单的解决方案,但没有成功(可能是我做错了)。
另外,我想知道是否有任何解决方案可以在没有tomcat重启的情况下应用我的更改。 有人可以帮我解决这个要求的正确方法。
处理此类要求的任何链接都会有所帮助。
它应该是一个评论,因为我的建议不是一个完整的答案,但我会在评论中用尽空间。
只想确认一下。 您想要更新用于验证SSL连接的证书,我要问的原因通常是tomcat在apache后面,而ssl由apache处理而不是tomcat。 如果要添加证书以验证客户端的ssl(例如,他有自签名证书),则不要在连接器上执行此操作。
不是最简单的,如果在证书上传时你重命名它并将其全部放在同一路径上(并使用相同的密码),这样你就不必更新server.xml。
您可以轻松检查更新是否无需重启(只需更换证书并查看会发生什么),但我对此表示怀疑。 您可以检查连接器实现的源代码(只打开正确的一个,因为它们目前是3个实现),并查看是否可以修改它以触发密钥库更新。
最后,你真的想提供这样的功能吗? 暴露越少,对证书的操纵越安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.