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

EC2服务器调用OpenAI API遇SSL权限错误的解决求助

解决OpenAI API调用的SSL权限错误问题

针对你遇到的SSLError(PermissionError(13, 'Permission denied'))错误,可按以下步骤排查修复:

  • 检查SELinux限制
    SELinux可能阻止Python进程访问SSL相关资源。临时关闭测试:

    sudo setenforce 0
    

    若调用成功,可选择永久关闭(编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled后重启服务器),或添加允许Python进程访问的SELinux规则。

  • 修复系统CA证书
    系统CA证书不完整会导致SSL验证失败:

    • CentOS/RHEL系统:
      sudo yum install ca-certificates -y
      sudo update-ca-trust
      
    • Ubuntu/Debian系统:
      sudo apt install ca-certificates -y
      sudo update-ca-certificates
      
  • 临时绕过SSL验证(仅测试用)
    若证书问题暂时无法解决,可在代码中添加临时绕过逻辑(不建议长期使用):

    import ssl
    import openai
    
    # 添加这行代码
    ssl._create_default_https_context = ssl._create_unverified_context
    
    def call_openai(search_prompt, engine='text-davinci-003', temp=0.3, top_p=1.0, tokens=400, freq_pen=0.0, pres_pen=0.0, stop=['END']):
        prompt = search_prompt.encode(encoding='ASCII',errors='ignore').decode()
        response = openai.Completion.create(
            engine=engine,
            prompt=prompt,
            temperature=temp,
            max_tokens=tokens,
            top_p=top_p,
            frequency_penalty=freq_pen,
            presence_penalty=pres_pen,
            stop=stop)
        text = response['choices'][0]['text'].strip()
        return text
    
  • 验证网络出站权限
    确认EC2安全组和本地防火墙允许HTTPS(443端口)出站:

    • 检查EC2安全组,确保出站规则包含0.0.0.0/0的443端口。
    • 本地firewalld配置:
      sudo firewall-cmd --add-service=https --permanent
      sudo firewall-cmd --reload
      
  • 检查运行脚本的用户权限
    尝试用root用户运行脚本,若成功则说明当前用户缺少访问SSL相关文件的权限,可调整用户权限或切换至合适用户执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:23:10