One API域名配置:HTTPS证书申请与部署全指南

One API域名配置:HTTPS证书申请与部署全指南

【免费下载链接】one-api OpenAI 接口管理&分发系统,支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI. 【免费下载链接】one-api 项目地址: https://gitcode.com/GitHub_Trending/on/one-api

痛点与解决方案

你是否还在为One API服务暴露在HTTP下的安全风险担忧?本文将通过3种部署模式+2类证书方案,帮助你在15分钟内完成HTTPS配置,解决API通信加密、浏览器安全警告和第三方集成兼容性问题。

证书申请前准备

环境要求

部署方式服务器要求推荐场景
独立服务器公网IP+开放80/443端口生产环境/高并发
Docker容器Docker 20.10+快速部署/测试环境
云服务托管支持SSL终端的云服务器无服务器管理经验

域名准备

  • 已完成备案的域名(如api.yourdomain.com
  • 域名A记录指向服务器公网IP

证书申请实战

方案1:Let's Encrypt免费证书(推荐)

# 1. 安装Certbot
apt update && apt install certbot python3-certbot-nginx -y

# 2. 申请证书(自动配置Nginx)
certbot --nginx -d api.yourdomain.com

# 3. 验证证书状态
certbot certificates

方案2:阿里云SSL证书(企业级)

  1. 登录阿里云SSL控制台,购买免费DV证书
  2. 完成域名验证(DNS解析添加TXT记录)
  3. 下载证书文件(Nginx格式包含xxx.pemxxx.key

部署配置

模式1:独立服务器部署

Nginx反向代理配置
server {
    listen 80;
    server_name api.yourdomain.com;
    # HTTP重定向到HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name api.yourdomain.com;

    # SSL证书配置
    ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem;
    
    # 安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # 代理配置
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
One API配置修改
# 设置环境变量
export SERVER_ADDRESS="https://api.yourdomain.com"
export PORT=3000

# 重启服务
systemctl restart one-api

模式2:Docker容器部署

docker-compose.yml配置
version: '3.4'
services:
  one-api:
    image: justsong/one-api:latest
    container_name: one-api
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - ./data/oneapi:/data
      - ./ssl:/etc/ssl/one-api  # 挂载证书目录
    environment:
      - SERVER_ADDRESS=https://api.yourdomain.com
      - PORT=3000
    depends_on:
      - redis
      - db

  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./ssl:/etc/nginx/ssl
    depends_on:
      - one-api

模式3:使用Caddy自动配置(懒人方案)

api.yourdomain.com {
    reverse_proxy one-api:3000
    tls your@email.com  # 自动申请Let's Encrypt证书
}

验证与维护

配置验证

# 检查HTTPS响应
curl -I https://api.yourdomain.com/api/status

# 预期输出
HTTP/2 200
server: nginx
content-type: application/json
strict-transport-security: max-age=31536000; includeSubDomains

证书自动续期

# 设置定时任务
crontab -e
# 添加以下内容
0 3 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx

常见问题排查

问题1:证书配置后API无法访问

mermaid

问题2:Docker部署证书更新后不生效

解决步骤:

  1. 替换./ssl目录下的证书文件
  2. 执行docker-compose restart nginx
  3. 验证docker logs nginx无SSL相关错误

生产环境最佳实践

mermaid

安全强化配置

# 添加到server块
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;

# 启用HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

# 禁用不安全密码套件
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;

总结与后续步骤

通过本文配置,你的One API服务已具备:

  • ✅ 传输层加密保护
  • ✅ 浏览器安全信任
  • ✅ 自动化证书管理

下一步建议:

  1. 配置API访问IP白名单
  2. 启用Web Application Firewall
  3. 实施API请求频率限制

完整配置文件模板可在项目仓库的docs/examples目录获取。

【免费下载链接】one-api OpenAI 接口管理&分发系统,支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI. 【免费下载链接】one-api 项目地址: https://gitcode.com/GitHub_Trending/on/one-api

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值