开发者社区> 问答> 正文

如下请问阿里语音AI的这个问题怎么解决?用的是官方提供的sdm docker

调用tts:tls: failed to verify certificate: x509: certificate signed by unknown authority 这个是啥问题 怎么解决? 用的是官方提供的sdm docker

展开
收起
乐天香橙派 2023-12-01 10:04:58 89 0
2 条回答
写回答
取消 提交回答
  • 这个问题是由于Docker在尝试验证TLS证书时,遇到了未知的签名颁发机构。解决这个问题的方法可以是:

    1. 将服务器的证书添加到客户端的信任列表中。如果服务器使用的是自签名证书,需要将其导入到客户端的信任列表中。

    2. 如果您正在使用阿里云镜像并且遇到了这个错误,可以尝试添加阿里云的镜像来加速下载和安装过程。

    3. 如果访问的服务器使用的是权威公共证书,但是客户端上的根证书不完备,因此无法正常校验,那么需要验证机器上的根证书是否完备。对于Linux系统来说,与ssl证书相关的有下面几个路径:/etc/ssl/certs/: 所有ssl证书文件;/etc/ssl/certs/ca-certificates.crt: 所有ssl证书内容合集;/usr/share/ca-certificates/mozilla/: 原始根证书文件。

    2023-12-02 16:46:50
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误提示表明在调用 TTS(Text-to-Speech)服务时,TLS(Transport Layer Security)握手过程中出现了证书验证失败的问题。具体来说,证书是由未知的颁发机构签名的,因此无法验证其有效性。

    要解决这个问题,你可以尝试以下几个步骤:

    1. 检查证书链:确保你的 TTS 服务使用的证书链是完整的,并且包含了所有必要的中间证书。如果证书链不完整或缺少任何证书,TLS 握手将无法成功完成。

    2. 更新证书:如果你的 TTS 服务使用的是自签名证书或过期的证书,你需要更新证书为由受信任的颁发机构签发的有效证书。你可以联系 TTS 服务提供商获取最新的证书文件。

    3. 禁用证书验证:如果你确定证书是有效的,但仍然遇到此问题,你可以尝试禁用 TLS 握手中的证书验证。请注意,这样做会使通信变得不安全,因为它允许使用无效的证书进行连接。在代码中,你可以通过设置适当的选项来禁用证书验证。具体的实现方式取决于你使用的编程语言和库。

    以下是一个示例代码片段,展示了如何在 Python 中使用 requests 库禁用 TLS 证书验证:

    import requests
    
    url = "https://your-tts-service-url"
    response = requests.get(url, verify=False)
    
    # 处理响应数据...
    
    2023-12-01 21:40:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Lindorm AI 能力介绍 立即下载
2023云栖大会:PolarDB for AI 立即下载
2023云栖大会:Lindorm一站式AI数据平台实战 立即下载