[{"data":1,"prerenderedAt":104},["ShallowReactive",2],{"content:\u002F1panel-halo":3,"surround:\u002F1panel-halo":93},{"id":4,"title":5,"body":6,"categories":67,"comment":69,"date":70,"description":71,"donation":69,"draft":72,"extension":73,"image":74,"meta":75,"navigation":69,"path":79,"permalink":80,"postfooter":69,"published":80,"readingTime":81,"recommend":80,"references":80,"seo":86,"sitemap":87,"stem":88,"tags":89,"type":91,"updated":80,"__hash__":92},"content\u002Fposts\u002F1Panel-Halo.md","1Panel部署Halo容器反复重启问题解决",{"type":7,"value":8,"toc":61},"minimark",[9,13,17,20,23,26,37,40,43,46,49,52,55,58],[10,11,12],"h2",{"id":12},"前言",[14,15,16],"p",{},"昨天打算把博客服务从宝塔面板迁移到 1Panel，想着用 1Penal 部署 Halo 2 能省心不少，结果刚启动就遭遇了噩梦：容器启动几秒就崩溃，反复重启。一开始以为是环境变量写错、权限不足、网络不通，甚至怀疑是服务器系统镜像有问题，硬生生重装了五六次系统。折腾了大半天，最后还是看了一眼日志，才发现问题的根源居然 Halo 的新版本强制使用SSL\u002FTSL连接MySQL！",[14,18,19],{},"问题现象 1Panel 应用商店安装 MySQL 5.7，默认配置启动。",[14,21,22],{},"商店安装Halo 2.24.2 ，并填写外部访问地址。",[14,24,25],{},"安装完毕启动后，Halo 容器反复重启，日志一直在产生日志，我随便截取了一段",[27,28,33],"pre",{"className":29,"code":31,"language":32},[30],"language-text","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]\n\n1Panel-halo-1GwU  |\n\n1Panel-halo-1GwU  |     __  __      __\n\n1Panel-halo-1GwU  |    \u002F \u002F \u002F \u002F___ \u002F \u002F__\n\n1Panel-halo-1GwU  |   \u002F \u002F_\u002F \u002F  `\u002F \u002F\n\n1Panel-halo-1GwU  |  \u002F __  \u002F \u002F_\u002F \u002F \u002F \u002F_\u002F \u002F\n\n1Panel-halo-1GwU  | \u002F_\u002F \u002F_\u002F\\__,_\u002F_\u002F\\____\u002F\n\n1Panel-halo-1GwU  |\n\n1Panel-halo-1GwU  | Version: 2.24.2\n\n1Panel-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 (\u002Fapplication\u002Fapplication.jar started by root in \u002Fapplication)\n\n1Panel-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\"\n\n1Panel-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\n\n1Panel-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.\n\n1Panel-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.\n\n1Panel-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\n\n1Panel-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.\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n\n1Panel-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\n","text",[34,35,31],"code",{"__ignoreMap":36},"",[14,38,39],{},"修改完成后重建即可，不过更推荐在新装的时候就改好。",[14,41,42],{},"为什么会踩这个坑？ 惯性思维：遇到容器重启，第一反应是环境问题、配置错误，很少想到是 SSL 这种 “隐形” 的协议校验问题。",[14,44,45],{},"日志一闪而过：面板里看不到完整报错，导致关键信息被忽略，只能靠反复重装试错。",[14,47,48],{},"无相关案例：Halo 社区虽活跃，但是真正及时解答问题的比较少，所以也没搜到相关问题，也没去提问",[10,50,51],{"id":51},"写在最后",[14,53,54],{},"折腾服务器的过程，很多时候考验的不是技术有多强，而是能不能沉下心看日志、抓关键信息。这次踩坑也给我提了个醒：遇到问题别先慌着重装，日志才是解决问题的第一入口。",[14,56,57],{},"如果你也在用 1Panel 部署 Halo 遇到了反复重启的问题，可以试试加个 sslMode=DISABLED 参数，大概率就能解决！",[14,59,60],{},"欢迎大家在评论区交流",{"title":36,"searchDepth":62,"depth":62,"links":63},4,[64,66],{"id":12,"depth":65,"text":12},2,{"id":51,"depth":65,"text":51},[68],"技术",true,"2026-05-02 13:14:00","将博客从宝塔迁移至1Panel，部署Halo 2.24.2搭配MySQL5.7时，Halo容器启动数秒后反复崩溃。经过多次重装系统排查，查看日志后定位根源：新版Halo强制使用SSL\u002FTSL连接MySQL。该问题容易被忽略，建议故障时优先查看日志，可添加sslMode=DISABLED参数解决。",false,"md","https:\u002F\u002Fimg-upyun.chario.cn\u002Fi\u002F2026\u002F10\u002F17\u002F566812.webp",{"aside":76,"slots":78},[77],"toc",{},"\u002F1panel-halo",null,{"text":82,"minutes":83,"time":84,"words":85},"9 min read",8.63,517800,1726,{"title":5,"description":71},{"loc":79},"posts\u002F1Panel-Halo",[90],"1Panel","tech","N1bHXj0b5JwLqhkpfNQR6zXxLfE0QPC0Rad9D2JEBRI",[94,100],{"title":95,"path":96,"stem":97,"date":98,"type":99,"children":-1},"组件样式示例","\u002F2026\u002Fexample","posts\u002F2026\u002Fexample","2024-09-21 23:18:18","story",{"title":101,"path":102,"stem":103,"date":70,"type":91,"children":-1},"1Panel 面板安装 PHP XLoader 扩展踩坑实录","\u002F1panel-php-xloader","posts\u002F1Panel-PHP-XLoader",1792244425922]