众所周知, OpenAI API 有 IP 限制,想要打破这个限制,可以在服务器上部署配置Nginx转发OpenAI API,具体如下:
1、创建一个转发的网站(建议使用美国云服务器)
点击添加站点,选择纯静态即可!
2、添加反向代理
3、更改网站配置
将以下站点配置信息直接替换原来的即可!(api.*.ltd替换为自己的域名)
server { listen 80; listen 443 ssl http2; server_name api.*.ltd; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/api.*.ltd; proxy_ssl_server_name on; # 开启代理SSL服务器名称验证,确保SSL连接的安全性 proxy_set_header Host api.openai.com; # 设置代理请求头中的Host字段为api.openai.com chunked_transfer_encoding off; # 禁用分块编码传输,避免可能的代理问题 proxy_buffering off; # 禁用代理缓存,避免数据传输延迟 proxy_cache off; # 禁用代理缓存,确保实时获取最新的数据 #proxy_set_header X-Forwarded-For $remote_addr; # 将客户端真实IP添加到代理请求头中的X-Forwarded-For字段中,用于记录客户端真实IP client_max_body_size 30m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; ssl_certificate /www/server/panel/vhost/cert/api.*.ltd/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/api.*.ltd/privkey.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; error_page 497 https://$host$request_uri; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 #清理缓存规则 location ~ /purge(/.*) { proxy_cache_purge cache_one $host$1$is_args$args; #access_log /www/wwwlogs/api.*.ltd_purge_cache.log; } #引用反向代理规则,注释后配置的反向代理将无效 include /www/server/panel/vhost/nginx/proxy/api.*.ltd/*.conf; include enable-php-00.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/api.*.ltd.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } #禁止在证书验证目录放入敏感文件 if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) { return 403; } access_log /www/wwwlogs/api.*.ltd.log; error_log /www/wwwlogs/api.*.ltd.error.log; } }
4、替换api地址
在代码中将官方的api地址https://api.openai.com换成自己的 http://api.*.ltd