0
0
0

1Panel部署Halo容器反复重启问题解决

2026-05-02
2026-08-24
1Panel部署Halo容器反复重启问题解决
文章摘要
|

前言

昨天打算把博客服务从宝塔面板迁移到 1Panel,想着用 1Penal 部署 Halo 2 能省心不少,结果刚启动就遭遇了噩梦:容器启动几秒就崩溃,反复重启。一开始以为是环境变量写错、权限不足、网络不通,甚至怀疑是服务器系统镜像有问题,硬生生重装了五六次系统。折腾了大半天,最后还是看了一眼日志,才发现问题的根源居然 Halo 的新版本强制使用SSL/TSL连接MySQL!

问题现象 1Panel 应用商店安装 MySQL 5.7,默认配置启动。

商店安装Halo 2.24.2 ,并填写外部访问地址。

安装完毕启动后,Halo 容器反复重启,日志一直在产生日志,我随便截取了一段

anel-halo-1GwU  | 20:09:35,786 |-WARN in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1099855928 - 'maxHistory' is not set, ignoring 'totalSizeCap' option with value [1 GB]

1Panel-halo-1GwU  |

1Panel-halo-1GwU  |     __  __      __

1Panel-halo-1GwU  |    / / / /___ / /__

1Panel-halo-1GwU  |   / /_/ /  `/ / 

1Panel-halo-1GwU  |  / __  / /_/ / / /_/ /

1Panel-halo-1GwU  | /_/ /_/\__,_/_/\____/

1Panel-halo-1GwU  |

1Panel-halo-1GwU  | Version: 2.24.2

1Panel-halo-1GwU  | 2026-05-01T20:09:35.848+08:00  INFO 1 --- [           main] run.halo.app.Application                 : Starting Application v2.24.2 using Java 21.0.10 with PID 1 (/application/application.jar started by root in /application)

1Panel-halo-1GwU  | 2026-05-01T20:09:35.851+08:00  INFO 1 --- [           main] run.halo.app.Application                 : No active profile set, falling back to 1 default profile: "default"

1Panel-halo-1GwU  | 2026-05-01T20:09:37.411+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode

1Panel-halo-1GwU  | 2026-05-01T20:09:37.412+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.

1Panel-halo-1GwU  | 2026-05-01T20:09:37.683+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 259 ms. Found 37 R2DBC repository interfaces.

1Panel-halo-1GwU  | 2026-05-01T20:09:37.710+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode

1Panel-halo-1GwU  | 2026-05-01T20:09:37.711+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.

1Panel-halo-1GwU  | 2026-05-01T20:09:37.720+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SalesChannelPaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.720+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderTimelineRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.721+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.DigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.721+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentHistoryRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.722+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.722+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.UserAddressRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.723+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductVariantRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.724+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.725+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.725+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.VirtualKeyRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.726+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerPaymentChannelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.726+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.PaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.727+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CustomerDigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.728+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundTransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.NotificationRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.TransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingProfileRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

1Panel-halo-1GwU  | 2026-05-01T20:09:37.730+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CartItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository

修改完成后重建即可,不过更推荐在新装的时候就改好。

为什么会踩这个坑? 惯性思维:遇到容器重启,第一反应是环境问题、配置错误,很少想到是 SSL 这种 “隐形” 的协议校验问题。

日志一闪而过:面板里看不到完整报错,导致关键信息被忽略,只能靠反复重装试错。

无相关案例:Halo 社区虽活跃,但是真正及时解答问题的比较少,所以也没搜到相关问题,也没去提问

写在最后

折腾服务器的过程,很多时候考验的不是技术有多强,而是能不能沉下心看日志、抓关键信息。这次踩坑也给我提了个醒:遇到问题别先慌着重装,日志才是解决问题的第一入口。

如果你也在用 1Panel 部署 Halo 遇到了反复重启的问题,可以试试加个 sslMode=DISABLED 参数,大概率就能解决!

欢迎大家在评论区交流

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

1Panel部署Halo容器反复重启问题解决
/archives/UqQdMX1q
作者
Administrator
发布于
2026-05-02
许可协议
CC BY-NC-SA 4.0

评论

欢迎来到我的博客!