You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Certbot证书续期后OpenVidu Server调用getToken无响应求助

OpenVidu证书续期后getToken无响应的解决方案

需要操作的核心容器是openvidu_nginx_1(对应镜像openvidu/openvidu-proxy:7.0.0),它是OpenVidu集群的SSL入口代理,所有外部HTTPS请求(包括OpenVidu Server API、Kurento媒体服务的4443端口)均通过它处理,证书过期会直接导致依赖SSL的请求失败。

具体操作步骤

1. 替换主机上的证书文件

OpenVidu默认将主机的/opt/openvidu/certificates/目录挂载到proxy容器内,将续期后的证书和私钥替换到该目录,确保文件权限合规(建议设置为600,避免权限过高):

# 示例:将新证书复制到目标目录
cp /path/to/new/fullchain.pem /opt/openvidu/certificates/cert.pem
cp /path/to/new/privkey.pem /opt/openvidu/certificates/key.pem
chmod 600 /opt/openvidu/certificates/*.pem

2. 重启proxy容器

让nginx重新加载新证书:

docker restart openvidu_nginx_1

3. 验证修复效果

  • 访问Kurento测试链接(https://你的域名:4443/kurento),确认net::ERR_CERT_DATE_INVALID错误消失
  • 测试getToken接口,检查是否恢复正常响应

额外排查点

  • 检查OpenVidu配置文件/opt/openvidu/.env中的证书参数,确保指向正确文件:
    OPENVIDU_CERTIFICATE_FILE=/opt/openvidu/certificates/cert.pem
    OPENVIDU_CERTIFICATE_PRIVATE_KEY=/opt/openvidu/certificates/key.pem
    
  • 若使用Let's Encrypt自动续期,需确保续期脚本自动将新证书同步到/opt/openvidu/certificates/目录,并触发proxy容器重启
  • 开启Node.js客户端调试模式,查看getToken的具体错误详情:
    const openvidu = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET);
    openvidu.debug = true; // 打印详细API请求日志
    

内容的提问来源于stack exchange,提问作者Nikola Lukic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:30:55