当前位置: 首页 > article >正文

使用Nginx反向代理OpenAI API

由于OpenAI的API在国内无法访问,所以可以通过海外服务器利用Nginx实现反向代理。

安装Nginx

这一步就不赘述了,不同的Linux系统安装方式略有不同,根据自己的服务器的系统自行百度即可。

OpenSSL创建证书

因为OpenAI的接口是https协议的,所以在这之前需要提供SSL证书,这里使用OpenSSL来创建免费的SSL证书。

OpenSSL一般默认都有安装,所以直接使用即可,如果服务器没有该命令同样自行百度安装。

第一步:创建私钥

openssl genrsa -out private.key 2048

在合适的文件夹处输入该命令,它将生成名为private.key的RSA密钥文件,至少使用2048位的密钥长度。

第二步:创建CSR文件

openssl req -new -key private.key -out server.csr

这里会询问详细信息,如国家代码、州和地区名称、组织名称、您的姓名、电子邮件地址等,可以参考下面的输入:

CountryName: CN
ProvinceName: Guangdong
Locality Name: Guangzhou
Organization Name: ABC
Organizational Unti Name: ABC
Common Name:填自己的域名或者服务器ip地址
Email Adress: 123@163.com
A Challenge password: 因为是可选的所以直接回车即可
An optional company name: 同样是可选的所以直接回车即可

第三步:创建自签名证书

openssl x509 -req -days 3650 -in server.csr -signkey private.key -out server.crt

使用private.key和server.csr生成新证书server.crt,这里我指定有效时间为3650天,也就是10年。

配置Nginx

sudo vim /etc/nginx/nginx.conf

在http节点下添加server节点,配置如下:

http {
   
    #此处省略其他配置
    
    server {
            listen 443 ssl http2;
            server_name 域名或者服务器ip;

            ssl_certificate      /root/cert/server.crt;
            ssl_certificate_key  /root/cert/private.key;

            location /v1/ {
                      proxy_pass https://api.openai.com;
                      proxy_set_header Host api.openai.com;
                      proxy_set_header X-Real-IP $remote_addr;
            }

    }

}

ssl_certificate和ssl_certificate_key分别是上面生成的两个文件。

重启Nginx

停止Nginx

sudo nginx -s stop 

启动Nginx

sudo nginx

大功告成!

自此便可以通过自己的域名或者服务器ip实现OpenAI API的访问了。

https://服务器域名或者ip/v1/chat/completions

http://www.kler.cn/a/9849.html

相关文章:

  • jQuery笔记
  • Vue3入门介绍及快速上手
  • Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
  • 【LLM Agents体验 3】利用Open-WebUI+Ollama本地部署Qwen2.5:7B大模型的安装指南
  • YOLO即插即用---PConv
  • 【非关系型数据库】【IOT设备】InfluxDB、TimescaleDB、Cassandra和MongoDB
  • python内置方法的使用方法及示例
  • Python 小型项目大全 46~50
  • 怎样做好仓库管理?必须记住这八条!
  • 文件:IO流
  • 黑马2023JavaScript笔记
  • 鸿鹄工程项目管理系统源码 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统
  • 若依数据隔离 ${params.dataScope} 替换 优化为sql 替换
  • 【SQL 必知必会】- 第十三课 创建高级联结
  • Python求矩阵的内积、外积、克罗内克直积、Khatri-Rao积
  • 医院不良事件上报系统源码,全套源代码
  • Spring框架中的Bean
  • QML控件--Container
  • 每日一问-ChapGPT-20230414-中医基础-四诊之问诊
  • vue3 history模式配置及nginx服务器配置
  • gRPC源码解读 传输层数据处理流程
  • 【spring】通过抽象类与ApplicationContext编写扩展性强的业务逻辑
  • 使用国密SSL证书,实现SSL/TLS传输层国密改造
  • 【你听说了吗】GPT-5据说已经学完了世界上现存所有的视频
  • 电脑自动录屏软件哪个好用 电脑自动录屏怎么设置
  • 剑指 Offer 49. 丑数