1Panel 版本:专业版 v2.1.7
操作系统(设备):Debian GNU/Linux 12
日志
核心报错日志
plaintext
1Panel-halo-HmgH | Caused by: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection
1Panel-halo-HmgH | Caused by: io.asyncer.r2dbc.mysql.client.MySqlConnectionException
1Panel-halo-HmgH | Caused by: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
1Panel-halo-HmgH | 2026-04-06T04:31:45.033+08:00 ERROR 7 — [tor-tcp-epoll-4] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure
Halo 2.23.2完整配置
yaml
networks:
1panel-network:
external: true
services:
halo:
command:
- --spring.r2dbc.url=r2dbc:pool:${PANEL_DB_TYPE}://${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?sslMode=DISABLED
- --spring.r2dbc.username=${PANEL_DB_USER}
- --spring.r2dbc.password=${PANEL_DB_USER_PASSWORD}
- --spring.sql.init.platform=${PANEL_DB_TYPE}
- --halo.external-url=${HALO_EXTERNAL_URL}
container_name: ${CONTAINER_NAME}
deploy:
resources:
limits:
cpus: ${CPUS}
memory: ${MEMORY_LIMIT}
environment:
- JVM_OPTS=
healthcheck:
interval: 30s
retries: 5
start_period: 30s
test:
- CMD
- curl
- -f
- http://localhost:8090/actuator/health/readiness
timeout: 5s
image: halohub/halo-pro:2.23.2
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${HOST_IP}:${PANEL_APP_PORT_HTTP}:8090
restart: always
volumes:
- ./data:/root/.halo2
问题详细描述
- 在1Panel专业版v2.1.7中,通过应用商店部署Halo-pro 2.23.1版本,可正常启动、访问及使用,数据库为1Panel环境内部署的MySQL,网络为默认的 1panel-network ;
- 将Halo-pro从2.23.1升级至2.23.2版本后,应用启动失败,日志核心报MySQL SSL握手失败错误;
- 已尝试在Halo的docker-compose配置中,给数据库R2DBC连接URL添加 sslMode=DISABLED 参数禁用SSL,保存后重启应用,问题依旧;
- 确认Halo容器和MySQL容器均已加入 1panel-network 网络,容器间可ping通,MySQL账号已授权 % 远程访问,3306端口无占用/拦截。
已做排查操作(参考社区排查指南https://bbs.fit2cloud.com/t/topic/1069)
- 查看容器完整报错日志,定位到根因为SSL握手失败导致无法获取R2DBC数据库连接;
- 检查Halo与MySQL容器网络互通性,均在 1panel-network ,ping通无问题;
- 验证MySQL服务正常,账号密码、库名配置无误,无端口占用/防火墙拦截;
- 在数据库连接配置中添加SSL禁用参数 sslMode=DISABLED ,重启应用无效。
诉求
- 排查Halo-pro 2.23.2版本在1Panel v2.1.7环境下,与MySQL连接出现SSL握手失败的根因;
- 提供可直接操作的修复/规避方案,实现Halo-pro 2.23.2版本正常启动;
- 确认该问题是否为版本适配问题(2.23.1正常,仅2.23.2报错)。
