dram.me

jBPM基于Tomcat的生产部署

补遗

  1. kie-server以及controller(包含在kie-wb中)并没有针对角色做安全限制,所以将其暴露在外存在严重安全风险,当前只能从容器web.xml层面考虑限制,具体见这里。—— 2017-11-29

  2. 可以考虑将kie-wb和kie-server独立部署,可以增强稳定性和安全性,参考这里的文档。—— 2017-11-30

Apache设置

首先确定mod_sslmod_proxy_ajp两个Apache模块已经安装,之后在/etc/httpd/conf.d/ssl.conf中的VirtualHost段添加:

ProxyPass /kie-wb ajp://127.0.0.1:8009/kie-wb

Tomcat配置

生产环境主要包括以下配置:

  1. 服务本地监听:在conf/server.xml配置文件中8080和8009的Connecter添加address="127.0.0.1"

  2. 删除manager相关app:删除webapps目录下除去kie-wbkie-server的所有目录;

  3. 密码加密:Tomcat支持密码加密存储,具体查看这里和Tomcat文档中的说明,流程包括更改server.xml中的Realm配置,以及生成密码。但如果加密密码,jBPM的controller会存在无法连通server的问题,具体原因可能与此有关。所以直接使用LDAP作为认证机制,详见这里

jBPM设置

更改kieserver用户密码,除了更改LDAP中的密码外,还需要通过Java系统属性设置org.kie.server.controller.pwdor.kie.server.pwd。(这种方式存在安全问题,因为Tomcat会转化为Java命令行参数,导致信息暴露),在jBPM 7.5中会加入更完善的KeyStore方式,具体使用可以查看这里的说明