Harry-zklcdc / go-proxy-bingai

用 Vue3 和 Go 搭建的微软 New Bing 演示站点,拥有一致的 UI 体验,支持 ChatGPT 提示词,支持 API 调用,国内可用。
https://www.b1ng.chat
MIT License
4.17k stars 6.36k forks source link

[Help] 🤔 请教在OpenResty 1.25.3中反向代理的正确书写方式 #465

Closed pudding1111 closed 3 weeks ago

pudding1111 commented 1 month ago

Confirmations

Describe the help wanted

最近我是用的[宝塔面板国际版](https://github.com/aaPanel/aaPanel),经常会遇到python定时爆满问题,根据网上教程并没有[解决](https://blog.csdn.net/q506844270/article/details/131012533),所以我更改成[mdserver-web](https://github.com/midoks/mdserver-web/tree/master)管理面板,这个面板使用[openresty](https://openresty.org/cn/)作为nignx管理工具,这个和宝塔反向代理有点点不同

Steps to behave

根据版主提供的反向代理格式 map $http_upgrade $connection_upgrade { default upgrade; '' close; } map $remote_addr $proxy_forwarded_elem {

IPv4 addresses can be sent as-is

~^[0-9.]+$        "for=$remote_addr";

# IPv6 addresses need to be bracketed and quoted
~^[0-9A-Fa-f:.]+$ "for=\"[$remote_addr]\"";

# Unix domain socket names cannot be represented in RFC 7239 syntax
default           "for=unknown";

} map $http_forwarded $proxy_add_forwarded { default "$proxy_forwarded_elem"; } 会提示 OpenResty 配置测试不通过, 请重试: nginx: [emerg] unknown "proxy_add_forwarded" variable nginx: configuration file /www/server/openresty/nginx/conf/nginx.conf test failed`

更改成

location ^~ / {
    proxy_pass http://127.0.0.1:18085;    # 你部署的地址和端口
    proxy_http_version        1.1;

    # Proxy headers
    proxy_set_header Upgrade             $http_upgrade;
    proxy_set_header Connection          $connection_upgrade;
    proxy_set_header Host                $host;
    proxy_set_header X-Real-IP           $remote_addr;

    # 设置 X-Forwarded-For 头部
    proxy_set_header X-Forwarded-For     $proxy_add_x_forwarded_for;

    proxy_set_header X-Forwarded-Proto   $scheme;
    proxy_set_header X-Forwarded-Host    $host;
    proxy_set_header X-Forwarded-Port    $server_port;

    # Proxy timeouts
    proxy_connect_timeout    300s;
    proxy_send_timeout       300s;
    proxy_read_timeout       300s;
}

也会报错

Expected behavior

请教版主遇到这样的情况该怎么填写正确的反向代理

Screenshots

No response

Deploy

Docker

OS & Version

DEBAIN12

Browser & Version

CHROME LATEST

GoProxiBingAI Version

LATTEST

Additional context

No response

Harry-zklcdc commented 3 weeks ago

QQ_1724219794577

pudding1111 commented 3 weeks ago

事情不是想的这么简单 map的配置在宝塔面板上其实并无问题,但是在mb面板上并无作用 image image 可提供原始的搭建环境 ,期待开发者的联系https://t.me/puddinglocal

pudding1111 commented 3 weeks ago

这样的搭建在经过重置系统后,解决了反向代理的一部分问题,后来我遇到了heed头过大的问题 2024/08/19 19:23:41 [error] 582465#0: *10346 upstream sent too big header while reading response header from upstream, client: ip, server:host, request: "GET /turing/conversation/create?bundleVersion=1.1725.0 HTTP/2.0", upstream: "http://127.0.0.1:18085/turing/conversation/create?bundleVersion=1.1725.0", host: "host", referrer: "https://host/web/" 我在nginx的配置文件中增加 large_client_header_buffers 4 16k; # 默认是 4 1k 怎么说呢,添加这段代码后确实不在报错,但是出现了比较难受的问题,就是我在科学上网的环境中,bingai使用毫无问题, image 但是在国内环境中,却始终无法连接 image 这个vps刚买一个月,是正经使用的vps,ip干净,域名也是备案域名无dns污染,我查看了日志文件,无报错,并且都有访问记录。 实在是摸不着头脑

Harry-zklcdc commented 3 weeks ago

直接进相关讨论群找我吧,我有空给你看看,最近忙

pudding1111 commented 3 weeks ago

好的,已经在tg上进行联系