自从openai把自己的梯子封了之后,就习惯用API来chat了。而且,API的使用比较灵活,可以帮自己泛读论文之类的。

可惜,后来API在国内也不能访问了,虽然挂梯子还是可以的,但是总归是不怎么方便。

今天闲来无事,考虑能不能反向代理一下OpenAI的API,实现国内免梯使用。

主要工具还是服务器上的宝塔面板,对小白友好一些:

首先,新建一个网站;

然后,打开反向代理,代理域名 https://api.openai.com

访问一下这个你的代理域名,铛铛——502 bad gateway

原因是宝塔面板默认的反向代理配置文件没有强制制定ssl协议,导致ssl握手失败。(参考https://www.bt.cn/bbs/thread-105466-2-1.html

解决方法也很简单,在右侧的配置文件中加入:

proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

完成后大概是这个样子:


#PROXY-START/

location /
{
    proxy_pass https://api.openai.com;
    proxy_set_header Host api.openai.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_ssl_server_name on;
    proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_file06FYPBzd 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_file06FYPBzd 1;
    	expires 1m;
        }
    if ( $static_file06FYPBzd = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

就OK了

愉快的使用吧!

附:自部署地址:https://api.astrophel.org


“好久不见,Handler One”