ChatGPT的API对国内的ip进行了封锁,导致在国内网络环境下无法调用chatgpt的API接口。
我们使用nginx来搭建一个反向代理服务器。
面向人群:
- 有一定linux操作基础
- 想要搭建自己的ChatGPT问答机器人
- 能够支付起每月30元起的服务器费用
购买云服务器
镜像我们选择原生Centos7系统,根据你自己的使用的发行版进行选择。
地域选择国外的,比较推荐韩国、日本的服务器,延迟更低一点
配置这里我选择的是2核2G,33元/月,根据自己需求选择即可,人流量不大的话该配置绰绰有余了。
根据自己需要选择是否自动续费
安装nginx
参考博客文章安装:
我的博客:https://www.chenzhen.space/blog/35
或CSDN:https://blog.csdn.net/ShockChen7/article/details/128102467
OpenSSL创建证书
https协议需要提供SSL证书,我们可以用OpenSSL来创建免费的SSL证书。
OpenSSL一般默认都有安装,所以直接使用即可,如果服务器没有该命令同样自行百度安装。
第一步:创建私钥
创建文件secret来保存
cd /usr/local
mkdir secret
cd secret
在创建的文件夹里处输入该命令,它将生成名为private.key的RSA密钥文件,至少使用2048位的密钥长度。
openssl genrsa -out private.key 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: abc@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
修改nginx配置文件
vim nginx/conf/nginx.conf
你可以直接全部替换
#user nobody;
worker_processes 1;
events {
worker_connections 1024;}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;#tcp_nopush on;#keepalive_timeout 0;
keepalive_timeout 65;#gzip on;
server {
listen 443 ssl ;#监听端口号
server_name localhost;#域名或服务器ip
proxy_read_timeout 240s;#设置超时时间
ssl_certificate /usr/local/secret/server.crt;#对应前面生成密钥的位置
ssl_certificate_key /usr/local/secret/private.key;#对应前面生成密钥的位置#charset koi8-r;#access_log logs/host.access.log main;
location /v1/ {
proxy_pass https://api.openai.com;# 反向代理到https://api.openai.com/这个地址
proxy_set_header Host api.openai.com;# 设置代理请求头中的Host字段为api.openai.com
proxy_ssl_server_name on;# 开启代理SSL服务器名称验证,确保SSL连接的安全性}
error_page 500502503504 /50x.html;
location = /50x.html {
root html;}}}
进入sbin目录下
cd /usr/local/nginx/sbin
启动nginx
./nginx
如果已经启动则需要重启
./nginx -s reload
之后在浏览器访问地址:
https://服务器对应ip地址/v1/chat/completions
出现如下提示说明代理网址搭建成功!
版权归原作者 陈震_ 所有, 如有侵权,请联系我们删除。