各位大哥, nginx 反向代理 chatgpt,怎么搞啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lizhien
V2EX    OpenAI

各位大哥, nginx 反向代理 chatgpt,怎么搞啊

  •  
  •   lizhien 2023-11-23 09:20:23 +08:00 9662 次点击
    这是一个创建于 692 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不搞什么 chatgpt 转 api ,单纯想通过反向代理用官方的chatgpt
    Pandora next昨天弄了个,不知道为啥我的没法直接用账号登录,只能拿access token

    第 1 条附言    2023-11-23 22:00:52 +08:00

    openai api、azure openai api,pandara next我都有
    我只是想看看能否直接nginx反向代理chat.openai.com,仅此而已
    不是代理api.openai.com也不是openai.com
    为什么不直接用Pandora,说了我有,我问的是能否直接反向代理chat.openai.com,用最佳的体验
    是在不行我肯定就用Pandora去了啊,非要杠我一下
    有个大哥说了webproxy
    感觉只能用neko这种远程浏览器完成了

    Pandora账号登不上,是我机子网络有问题,换了台就行了

    49 条回复    2023-11-24 16:16:49 +08:00
    hytirrb
        1
    hytirrb  
       2023-11-23 09:23:02 +08:00
    你是部署什么项目吗
    lizhien
        2
    lizhien  
    OP
       2023-11-23 09:25:58 +08:00
    @hytirrb 不是,只是单纯想不挂梯子用 chatgpt ,我家里人想用,但是不会翻墙,教翻墙挺麻烦的
    OceanBreeze
        3
    OceanBreeze  
       2023-11-23 09:27:24 +08:00
    hxpmc
        4
    hxpmc  
       2023-11-23 09:29:32 +08:00
    Pandora next 你要 licence.jwt 吧
    NotFoundEgg
        5
    NotFoundEgg  
       2023-11-23 09:36:33 +08:00
    可以用这个 docker pull pengzhile/pandora
    block0
        6
    block0  
       2023-11-23 09:37:01 +08:00 via Android
    @OceanBreeze 这个让我看到了一个商机
    yaytohkay
        7
    yaytohkay  
       2023-11-23 09:38:45 +08:00
    https://github.com/moeakwak/chatgpt-web-share 这个呢,之前看 v 友推荐的,不知道能不能满足你的需求
    lizhien
        8
    lizhien  
    OP
       2023-11-23 09:45:23 +08:00
    @NotFoundEgg 用过了,还是想能否直接用 nginx 反向代理 chatgpt.openai.com
    lizhien
        9
    lizhien  
    OP
       2023-11-23 09:47:38 +08:00
    @OceanBreeze api.openai.com 反代没问题,是反向代理 chatgpt.openai.com 这个,直接用官方的 chatgpt
    OceanBreeze
        10
    OceanBreeze  
       2023-11-23 09:50:16 +08:00
    @lizhien 那要自己慢慢调试了,还要做内容替换。
    renmu
        11
    renmu  
       2023-11-23 09:55:54 +08:00 via Android
    你有技术跨过 cf 的盾吗?没有的话要么选择潘多拉要么走 api
    MyComputer
        12
    MyComputer  
       2023-11-23 09:57:12 +08:00
    @lizhien 我曾经也有个这个想法,最好反代的网站上还能设置一个用户名和密码,这样只有自己能访问,别人访问了也没用
    crazypig14
        13
    crazypig14  
       2023-11-23 09:57:21 +08:00   1
    问 chatgpt 呀
    Vindroid
        14
    Vindroid  
       2023-11-23 10:03:36 +08:00
    +1 ,蹲个答案,不让用代理,能直接反代网站是最好的方案了
    K8dcnPEZ6V8b8Z6
        15
    K8dcnPEZ6V8b8Z6  
       2023-11-23 10:13:11 +08:00
    开一个 windows server 的廉价轻量,做全局代理开好浏览器,然后让家人用 RDP 登(

    其实我也想蹲个反代方案
    version
        16
    version  
       2023-11-23 10:17:07 +08:00
    反向代理是不可能的.不拦截就奇怪了.....只能远程桌面访问..里面开个浏览器
    https://github.com/SeleniumHQ/docker-selenium
    不知道有人玩过没..暂时还没这个需求
    listenerri
        17
    listenerri  
       2023-11-23 10:39:45 +08:00
    可以试试 web proxy 技术,参考: https://www.croxyproxy.com/
    neoCoder
        18
    neoCoder  
       2023-11-23 10:44:27 +08:00
    Pandora next 搭建文档里不是写怎么弄吗,我昨天刚按照文档搭建完,没问题的
    mightybruce
        19
    mightybruce  
       2023-11-23 10:45:57 +08:00
    反代或者通过代理方式访问网站时不靠谱的, 只要网站发生一些变化比如 csrf-token ,原来规则就失效了, 你难道不会通过 api 建一个类似 chatgpt 的网站吗?
    jadeborner
        20
    jadeborner  
       2023-11-23 10:46:57 +08:00
    需要这个功能
    n0bin0bita
        21
    n0bin0bita  
       2023-11-23 11:00:24 +08:00
    @K8dcnPEZ6V8b8Z6 我的方案类似,我用的是 remoteapp ,通过 RDP 直接访问谷歌浏览器,远程的电脑直接全局代理。这样不会多一个远程窗口,也挺方便
    lcy630409
        22
    lcy630409  
       2023-11-23 11:00:39 +08:00
    你可以参考我的方案
    安装 Adspower(类似的都可以),找一个可以上 openai 站点的服务器,做一个 socks 代理
    在 Adspower 上新建一个浏览器,代理设置上面的那个

    然后翻墙软件中 设置这个服务器的 ip 走代理(我软路由是 ikuai 所以这一步很方便)
    Plutooo
        23
    Plutooo  
       2023-11-23 11:02:41 +08:00
    既然是家人想用,又知道 Pandoranext ,为什么不直接用 Pandoranext 的演示站呢
    bli22ard
        24
    bli22ard  
       2023-11-23 11:19:35 +08:00
    反向代理不一定行
    比如:你反向代理了 https://chat.openai.com/ ,你是可以拿到一个返回的文件,但是这个文件可能包含跨域的 js 文件、css 文件、图片等等,这些资源文件,需要访问别的域名,这时候,流量就不会经过你的反向代理。
    lizhien
        25
    lizhien  
    OP
       2023-11-23 11:26:33 +08:00
    @listenerri 这个确实可以,牛逼
    lizhien
        26
    lizhien  
    OP
       2023-11-23 11:40:04 +08:00
    @bli22ard 嗯嗯,我看到有个 Content-Security-Policy ,看来只能用 Pandora 了,或者 neko 远程浏览器
    mmdsun
        27
    mmdsun  
       2023-11-23 12:56:25 +08:00 via iPhone
    参考镜像网站的配置,以前谷歌刚刚被墙的时候好多镜像免翻的站点配置
    sdrzlyz
        28
    sdrzlyz  
       2023-11-23 13:21:36 +08:00
    找台能跑的主机,m1k1o/neko 一下,链接分享给别人
    dddd1919
        29
    dddd1919  
       2023-11-23 13:25:15 +08:00
    问 chatgpt
    Freakr
        30
    Freakr  
       2023-11-23 13:29:33 +08:00
    感觉可以不代理 http ,直接代理 TCP ,访问的机器改下 hosts
    ynkcc
        31
    ynkcc  
       2023-11-23 13:33:05 +08:00 via Android
    @OceanBreeze 有人试过吗,感觉还比较可行
    herozzm
        32
    herozzm  
       2023-11-23 13:33:50 +08:00
    反代估计问题很多
    leoSup
        33
    leoSup  
       2023-11-23 13:34:56 +08:00
    国外找个机器,上面部署一个根据 API 调用的 chatGPT 项目不就好嘛?还是要用官网免费的?
    idlewater
        34
    idlewater  
       2023-11-23 14:04:22 +08:00
    刚试了,这个管用: https://pjq.me/?p=2054
    SenLief
        35
    SenLief  
       2023-11-23 14:14:08 +08:00
    +1 我也想知道这个怎么处理的。
    c2const
        36
    c2const  
       2023-11-23 14:48:26 +08:00
    不熟悉前端技术,在大陆时是用的电脑/手机都远程桌面到服务器,间接使用 chatgpt 官网 :)
    Reitzo
        37
    Reitzo  
       2023-11-23 15:02:59 +08:00
    蹲一个进行学习
    fengpan567
        38
    fengpan567  
       2023-11-23 15:16:25 +08:00
    搞不了搞不了,直接用 nginx 反代会被 cf 拦截
    jiayouzl
        39
    jiayouzl  
       2023-11-23 15:22:20 +08:00
    我公司是直接用我家软路由做的收发,防火墙开端口,直接绑域名,带个端口号就行.我家路由器直接科学的,所以不需要考虑你说的问题.可以试试我自己用的这个方法.
    dyllen
        40
    dyllen  
       2023-11-23 15:34:46 +08:00
    @block0 小心请去喝茶。
    webfamer
        41
    webfamer  
       2023-11-23 16:32:13 +08:00
    我代理 gpt 的 api,腾讯云直接给干封了
    makerbi
        42
    makerbi  
       2023-11-23 16:43:10 +08:00
    直接用 Cloudflare 的 AI Gateway 吧,目前是没啥问题。
    mmdsun
        43
    mmdsun  
       2023-11-23 18:06:14 +08:00
    梯子被 ban 了,暂时没法是 chatgpt 网站, 试了下官网是可以代理的。


    server {
    listen 8080;
    server_name localhost;


    location / {


    if ($request_method = 'OPTIONS') {
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Methods' '*';
    add_header 'Access-Control-Allow-Headers' '*';
    add_header 'Content-Type' 'text/plain charset=';
    add_header 'Content-Length' 0;
    add_header 'Access-Control-Max-Age' 1728000;
    return 204;
    }

    # 代理到目标地址
    proxy_pass https://openai.com;


    # 代理设置,将 Host 设置为被代理服务器的域名
    proxy_set_header Host openai.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # 隐藏后端服务器的 Access-Control-Allow-Origin 头
    proxy_hide_header Access-Control-Allow-Origin;

    # 添加自己的 Access-Control-Allow-Origin 头
    add_header 'Access-Control-Allow-Origin' '*' always;
    add_header 'Access-Control-Allow-Methods' '*' always;
    add_header 'Access-Control-Allow-Headers' '*' always;

    #可能还需要替换响应内容 例如<a> href 之类的 nginx proxy_pass + sub_filter

    }


    }
    brownant
        44
    brownant  
       2023-11-23 21:06:36 +08:00
    教程网上挺多的,Google 到处都是

    可以帮你归纳一下
    准备工作
    1. 准备一个 top 域名,不需要备案
    2. 准备一台境外服务器(新加坡、美国都行,阿里都可以买)
    3. 去 Cloudflare CDN 服务商注册一个账号
    4. 了解第三方 chatgpt 聊天网站工程 chatgpt-web( https://github.com/Chanzhaoyu/chatgpt-web)。方便自己起一个网站服务,还方便控制访问者权限。

    搭建步骤
    1. 在境外服务器部署 chatgpt-web 项目,可能需要你配置 chatgpt api key 。
    2. 在 Cloudflare CDN 增加 top 域名的解析,解析到你的境外服务器。
    3. 然后就可以直接国内访问了,有 Cloudflare CDN ,一般都是稳定不会被 Q 。
    yinmin
        45
    yinmin  
       2023-11-24 00:07:43 +08:00
    chat.openai.com 的页面里加载了以下这么多网站的内容:
    cdn.oaistatic.com
    widget.intercom.io
    js.intercomcdn.com
    tr9i.chat.openai.com
    featuregates.org
    api-iam.intercom.io
    file.oaiusercontent.com
    events.statsigapi.net

    由于 chat.openai.com 的 web 网站加载了很多反攻击的第三方服务,不可能使用 nginx 反代的。
    djvv
        46
    djvv  
       2023-11-24 01:01:52 +08:00
    @NotFoundEgg docker pull pengzhile/pandora 早用不了
    tywtyw2002
        47
    tywtyw2002  
       2023-11-24 04:17:51 +08:00 via iPhone
    反代过不了 cf 的浏览器验证,除非你有脚本,目前开源的脚本都没发过验证了,除非收费的。


    唯一可行是改 host ip ,做正向代理。
    NotFoundEgg
        48
    NotFoundEgg  
       2023-11-24 10:49:57 +08:00
    @djvv 可以用啊,5 分钟亲测,刚 pull 并 run 的
    ```
    docker run -d \
    -v ~/docker/pandora/data:/data \
    -p 8899:8899 \
    -e PANDORA_CLOUD=cloud \
    -e PANDORA_SERVER=0.0.0.0:8899 \
    --name pandora \
    pengzhile/pandora:latest
    ```
    chris555
        49
    chris555  
       2023-11-24 16:16:49 +08:00
    neko 是个好东西 学习到了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2617 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:31 PVG 23:31 LAX 08:31 JFK 11:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86