使用nginx简单搭建一个ChatGPT代理服务器

  • 作者:ChenZhen

  • 本人不常看网站消息,有问题通过下面的方式联系:

    • 邮箱:1583296383@qq.com
    • vx: ChenZhen_7
  • 我的个人博客地址:https://www.chenzhen.space/🌐

  • 版权:本文为博主的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。📝

  • 如果对你有帮助,请给一个小小的star⭐🙏

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/ {
					# 反向代理到https://api.openai.com/这个地址
                      proxy_pass https://api.openai.com;
					  # 设置代理请求头中的Host字段为api.openai.com
                      proxy_set_header Host api.openai.com;
					  # 开启代理SSL服务器名称验证,确保SSL连接的安全性
                      proxy_ssl_server_name on;
            }



        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    
    }


}

进入sbin目录下

cd /usr/local/nginx/sbin

启动nginx

./nginx

如果已经启动则需要重启

./nginx -s reload

之后在浏览器访问地址:

https://服务器对应ip地址/v1/chat/completions

出现如下提示说明代理网址搭建成功!

在这里插入图片描述

  • 作者:ChenZhen

  • 本人不常看网站消息,有问题通过下面的方式联系:

    • 邮箱:1583296383@qq.com
    • vx: ChenZhen_7
  • 我的个人博客地址:https://www.chenzhen.space/🌐

  • 版权:本文为博主的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。📝

  • 如果对你有帮助,请给一个小小的star⭐🙏

end
  • 作者:chenzhen(联系作者)
  • 更新时间:2023-09-17 19:34
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:如果是转载栈主转载的文章,请附上原文链接
  • 公众号转载:请在文末添加作者公众号二维码(公众号二维码见右边,欢迎关注)
  • 评论

    新增邮件回复功能,回复将会通过邮件形式提醒,请填写有效的邮件!