1panel 使用海外主机,反代api.openai.com不生效,打开反代理源文进行修改可以解决。
这是创建反代后的源文
location ^~ / {
proxy_pass https://api.openai.com;
proxy_set_header Host $host;
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 "upgrade";
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
add_header Strict-Transport-Security "max-age=31536000";
}
修改为以下源文保存即可生效。
location ^~ / {
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
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 "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Error-Message $upstream_http_x_error_message;
proxy_buffering off;
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header X-Cache $upstream_cache_status;
add_header Strict-Transport-Security "max-age=31536000";
}
修改部分
-
proxy_set_header Host $host;
- 修改为:
proxy_set_header Host api.openai.com;
- 原因: 明确设置目标主机为
api.openai.com
,避免使用动态变量$host
。
- 修改为:
-
proxy_set_header Connection $connection_upgrade;
- 修改为:
proxy_set_header Connection "upgrade";
- 原因: 之前的配置中使用了未定义的变量
$connection_upgrade
,将其替换为静态值"upgrade"
以确保兼容性。
- 修改为:
增加部分
-
proxy_buffer_size 64k;
- 解释: 设置单个代理缓冲区的大小。适当增加缓冲区大小可以提升代理性能。
-
proxy_buffers 32 32k;
- 解释: 设置代理缓冲区的数量和大小。这里配置为 32 个 32KB 的缓冲区。
-
proxy_busy_buffers_size 128k;
- 解释: 设置繁忙时可以用来存储响应头的缓冲区大小。增加这个参数有助于处理大流量的情况。
-
proxy_set_header X-Error-Message $upstream_http_x_error_message;
- 解释: 设置自定义的错误消息头。这有助于在出现错误时传递更多的调试信息。
-
proxy_buffering off;
- 解释: 关闭代理缓冲功能。对于需要实时性较高的应用,关闭缓冲可以减少延迟。
-
proxy_ssl_server_name on;
- 解释: 启用 SSL 服务器名称指示(SNI)。这在与支持多个 SSL 证书的服务器通信时非常重要。
-
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- 解释: 指定允许使用的 SSL/TLS 协议版本。确保与目标服务器的兼容性,并提高安全性。