利用nginx反向代理openai api
前一篇文章介绍如何搭建属于自己的chatgpt,文中提到需要反向代理openai的api,本文就以nginx为例从0开始反代openai api,当然,使用caddy一样可以,本文只以nginx(宝塔面板)为例。
前提条件
- 需要一台海外服务器,最好是在新加坡这些地区
如果没有海外服务器,利用cf(cloudflare)和腾讯云/阿里云函数一样可以代理api,但是不太稳定,有机会也出一期教程
- 一个域名以及对应的ssl证书
一、安装nginx
以Ubuntu为例
su root #切换root用户
sudo apt update -y #更新软件源
sudo apt install nginx -y #安装
nginxnginxsystemctl status nginx #检查nginx是否安装成功
二、编辑nginx配置文件
nano /etc/nginx/nginx.conf #编辑默认的nginx配置文件
复制粘贴以下内容到最后一行,请根据自己情况自行修改
server {
listen 443 ssl http2;
#仅监听443端口,可以自己替换想要的端口,记得最后放行防火墙
server_name example.com;
#example.com自行换成自己的域名
ssl_certificate "/home/*.crt";
#配置ssl证书文件路径,请自行更改
ssl_certificate_key "/home/*.key";
#配置ssl私钥文件路径,请自行更改
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~* /(v1|dashboard) {
proxy_pass https://api.openai.com;
#配置反向代理api,无需改动
}
}
然后同时按住ctrl+o键后按回车保存配置文件,之后按住ctrl+x退出,最后放行防火墙并重启nginx
sudo ufw allow 443 #放行443端
sudo systemctl restart nginx #重启nginx服务
如果重启失败请检查配置是否有误
注意:如果还是不能访问请检查服务器控制台是否放行了对应端口
如果是使用宝塔用户,则需要修改部分nginx ssl配置部分才能启动nginx
ssl_session_cache shared:SSL:10m; #修改此行
proxy_ssl_server_name on; #添加此行
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #添加此行
三、验证是否反代成功
浏览器打开https://example.com/v1,出现以下内容则说明成功,之后自行配置chatgpt-web中反代(API_REVERSE_PROXY)即可。
版权声明:
作者:mymuwu
链接:https://mymuwu.net/?p=127
文章版权归作者所有,未经允许请勿转载。
THE END