如何配置JFrog Artifactory 7.17.x Web界面使用HTTPS而非HTTP
RHEL 7 部署 Artifactory 7.17.11 CE 版 HTTPS 配置问题说明
日志报错核心根因
在通过/opt/jfrog/artifactory/var/etc/system.yaml配置内置Tomcat HTTPS连接器时,出现的证书路径不存在报错,本质原因是该配置模块的路径字段不支持环境变量占位符解析:
- 配置值中写入的
$JFROG_HOME/...字符串不会被自动替换为实际安装路径,会直接被拼接在内置Tomcat的运行工作目录(即/opt/jfrog/artifactory/app/artifactory/tomcat/)之后,最终形成日志中记录的无效路径。 - 配置方式认知纠正:Artifactory 7.x 版本确实将
var/etc/system.yaml作为官方推荐的统一配置入口,完全替换了旧版本需要手动修改内置Tomcatconf/server.xml、conf/web.xml以及artifactory.system.properties的零散配置方式,不存在找错配置文件的问题。
内置Tomcat直连HTTPS的正确配置姿势
如果希望跳过反向代理、直接通过Artifactory内置服务提供HTTPS访问,仅需调整system.yaml中对应配置项的路径写法,使用绝对路径替代环境变量占位即可:
- 先将PEM格式的证书、密钥文件复制到指定安全路径,例如
/opt/jfrog/artifactory/var/etc/artifactory/security/ssl/ - 修改
system.yaml中tomcat.httpsConnector段的配置,可参考如下示例:
tomcat: httpsConnector: enabled: true port: 8443 keystoreFile: "/opt/jfrog/artifactory/var/etc/artifactory/security/ssl/server.key" keystoreType: "PEM" truststoreFile: "/opt/jfrog/artifactory/var/etc/artifactory/security/ssl/server.crt" clientAuth: false
- 配置完成后重启Artifactory服务,即可通过8443端口以HTTPS访问Web界面。
生产场景推荐的HTTPS落地方案
实际生产环境更推荐通过Nginx反向代理统一终止HTTPS流量:
- 该方式不受Artifactory版本迭代带来的内置配置字段调整影响,长期维护成本更低。
- 可统一适配Web界面访问、Conan远程拉取等多场景的流量转发规则,不需要在Artifactory侧单独维护证书。
- 该方案可稳定支持Web界面、Conan远程连接的HTTPS访问,完全满足日常使用要求。
内容的提问来源于stack exchange,提问作者Alec Keeler
相关产品推荐
相关产品推荐

