文章目录
- 前言
- 一、准备外网服务器
- 二、安装Nginx
- 三、配置Nginx
- 1. 配置
- 2. 重启Nginx
- 四、测试
- 1. http
- 2. Python
前言
最近ChatGPT特别火爆,我们国内无法正常调用它的API。 现在考虑使用国外服务器做一个OpenAI API的代理来调用API
一、准备外网服务器
可以选择国内腾讯云、阿里云等云服务厂商的国外区的服务器, 还可以使用国外的云服务器
二、安装Nginx
sudo apt update
sudo apt install nginx
三、配置Nginx
1. 配置
sudo vim /etc/nginx/nginx.conf
进入配置,在 http
项下面添加 server:
server {listen 80; # 监听80端口,用于HTTP请求location / {proxy_pass https://api.openai.com/; # 反向代理到https://api.openai.com/这个地址proxy_ssl_server_name on; # 开启代理SSL服务器名称验证,确保SSL连接的安全性proxy_set_header Host api.openai.com; # 设置代理请求头中的Host字段为api.openai.comchunked_transfer_encoding off; # 禁用分块编码传输,避免可能的代理问题proxy_buffering off; # 禁用代理缓存,避免数据传输延迟proxy_cache off; # 禁用代理缓存,确保实时获取最新的数据# proxy_set_header X-Forwarded-For $remote_addr; # 将客户端真实IP添加到代理请求头中的X-Forwarded-For字段中,用于记录客户端真实IP}
}server {listen 443 ssl;ssl_certificate /home/ubuntu/key/server.crt; # 这里填你的证书的路径ssl_certificate_key /home/ubuntu/key/private.key; # 这里填你的证书的路径ssl_session_cache shared:le_nginx_SSL:1m;ssl_session_timeout 1440m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;ssl_prefer_server_ciphers on;ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;location / {proxy_pass https://api.openai.com/;proxy_ssl_server_name on;proxy_set_header Host api.openai.com;proxy_set_header Connection '';proxy_http_version 1.1;chunked_transfer_encoding off;proxy_buffering off;proxy_cache off;# proxy_set_header X-Forwarded-For $remote_addr;# proxy_set_header X-Forwarded-Proto $scheme;}
}
2. 重启Nginx
sudo nginx -s stop
sudo nginx
四、测试
1. http
使用Curl指令:
curl http://你的服务器IP/v1/models \-H "Authorization: Bearer $OPENAI_API_KEY" \-H "OpenAI-Organization: org-uSBqp59QGlDFxcG7XGikFmCB"
返回模型列表
使用postman测试:
2. Python
参考这篇:《Nodejs和python 设置 openai 的API正向代理和反向代理入口链接连接方式,用于国内访问openAI接口》