由于OpenAI的API在国内无法访问,所以可以通过海外服务器利用Nginx实现反向代理。
这个就不过多赘述,大家自行百度解决
OpenAI的接口是https协议的,所以需要提供SSL证书,可以使用OpenSSL来创建免费的SSL证书。
我使用的是服务器来做的反向代理,服务器上OpenSSL一般默认都有安装,所以直接使用即可,如果服务器没有该命令同样自行百度安装。
openssl genrsa -out private.key 2048
你在想要保存私钥的文件夹下运行该命令,会生成一个private.key的RSA密钥文件
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年。
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分别是上面生成的两个文件。
sudo nginx -s stop
sudo nginx
大功告成!
自此便可以通过自己的域名或者服务器ip实现OpenAI API的访问了。
https://服务器域名或者ip/v1/chat/completions
powered by kaifamiao