Skip to content

Rocky Linux 9.7 下启动 Yogurt 后触发 HTTPS 请求失败,报错 Problem with the SSL CA cert (path? access rights?) #48

@x-dmp

Description

@x-dmp

软件版本:Yogurt v0.1.0 (build 183)

操作系统:Rocky Linux 9.7 (Blue Onyx)
系统信息:
NAME="Rocky Linux"
VERSION="9.7 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.7"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.7 (Blue Onyx)"

运行 ./yogurt.kexe 报错信息:

.--------------------------------------.
|   __  __                       __    |
|   \ \/ /___  ____ ___  _______/ /_   |
|    \  / __ \/ __ `/ / / / ___/ __/   |
|    / / /_/ / /_/ / /_/ / /  / /_     |
|   /_/\____/\__, /\__,_/_/   \__/     |
|           /____/   Acidify + Milky   |
'--------------------------------------'
Yogurt v0.1.0-dev.183

Commit Hash:    b63f9e18a1bf8a637baa587c0e92d7ebd98cc8d4
Core Version:   acidify-core 1.3.2+b63f9e1
Milky Version:  milky-kt-types 1.2.0-RC4 (1.2)
Build Time:     2026-03-22 19:29:11 CST
Data Directory: /opt/qqbot/yogurt
使用协议 Linux 3.2.26-46494 (AppId: 537345891)
[INFO] (io.ktor.server.Application): Application started in 0.021 seconds.
16:59:45  INFO o.n.a.Bot Session 为空,尝试二维码登录
[INFO] (io.ktor.server.Application): Responding at http://127.0.0.1:3000
16:59:45 DEBUG o.n.a.i.c.PacketContext 已连接到 msfwifi.3g.qq.com:8080
Uncaught Kotlin exception: kotlin.IllegalStateException: Connection failed for request: CurlRequestData(url='https://sign.lagrangecore.org/api/sign/sec-sign', method='POST', content: 860 bytes). Reason: Problem with the SSL CA cert (path? access rights?)
    at 0   yogurt.kexe                         0xc776ad           kfun:io.ktor.client.engine.curl.internal.CurlMultiApiHandler.handleCompleted#internal + 8269 
    at 1   yogurt.kexe                         0xc71be9           kfun:io.ktor.client.engine.curl.CurlProcessor.CurlProcessor$runEventLoop$1.$invokeCOROUTINE$0.invokeSuspend#internal + 2233 
    at 2   yogurt.kexe                         0x698d7f           kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 223 
    at 3   yogurt.kexe                         0x7754c6           kfun:kotlinx.coroutines.DispatchedTask#run(){} + 758 
    at 4   yogurt.kexe                         0x786833           kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$workerRunLoop$1.$invokeCOROUTINE$0.invokeSuspend#internal + 1251 
    at 5   yogurt.kexe                         0x698d7f           kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 223 
    at 6   yogurt.kexe                         0x7754c6           kfun:kotlinx.coroutines.DispatchedTask#run(){} + 758 
    at 7   yogurt.kexe                         0x746ac6           kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long + 966 
    at 8   yogurt.kexe                         0x780a43           kfun:kotlinx.coroutines#runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>){0§<kotlin.Any?>}0:0 + 1811 
    at 9   yogurt.kexe                         0x786216           kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$1.MultiWorkerDispatcher$1$invoke$$inlined$apply$1.$<bridge-DN>invoke(){}#internal + 214 
    at 10  yogurt.kexe                         0x103c375          _ZN6Worker19processQueueElementEb + 1589 
    at 11  yogurt.kexe                         0x103bcac          _ZN12_GLOBAL__N_113workerRoutineEPv + 108 
    at 12  libc.so.6                           0x7f454b28b2e9     0x0 + 139935590429417 
    at 13  libc.so.6                           0x7f454b3103cf     0x0 + 139935590974415 
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@1bc21c70, DefaultDispatcher@4b8c3768]
        at 0   yogurt.kexe                         0x7436da           kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 1194 
        at 1   yogurt.kexe                         0x73c518           kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 24 
        at 2   yogurt.kexe                         0x74a08d           kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 2973 
        at 3   yogurt.kexe                         0x74df9d           kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 1165 
        at 4   yogurt.kexe                         0x74d993           kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 227 
        at 5   yogurt.kexe                         0x73a473           kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 147 
        at 6   yogurt.kexe                         0x698ea5           kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 517 
        at 7   yogurt.kexe                         0x7753f5           kfun:kotlinx.coroutines.DispatchedTask#run(){} + 549 
        ... and 10 more common stack frames skipped
Aborted (core dumped)

运行命令

strace -f -e file -o trace.log /opt/qqbot/yogurt/yogurt.kexe grep -Ei 'cert|ca-bundle|cacert|ssl' trace.log

trace.log

当前网络环境可连通,同一台设备上的 curl 可以正常使用 HTTPS
希望协助确认:
是否在 Linux Native / Ktor Curl 引擎中写死了某个 Debian/Ubuntu 风格的 CA 证书路径
是否没有兼容 Rocky / RHEL 系统的系统证书目录

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions