Harry-zklcdc / go-proxy-bingai

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

[Help] 🤔 无法请求ByPass服务器 #369

Closed wuyu8512 closed 8 months ago

wuyu8512 commented 8 months ago

Confirmations

Describe the bug

日志显示

Get "http://go-bingai-pass:7860/gettoken": dial tcp 172.29.0.3:7860: connect: connection refused

但我可以直接容器内正常 wget http://go-bingai-pass:7860/gettoken

Steps to reproduce

version: '3'

services:
  go-proxy-bingai:
    image: zklcdc/go-proxy-bingai
    container_name: go-proxy-bingai  
    restart: always
    environment:
      - BYPASS_SERVER=http://go-bingai-pass:7860
      # - BING_BASE_URL=https://www.bing.com
      # - SYDNEY_BASE_URL=https://sydney.bing.com
      # - HTTP_PROXY=http://172.17.0.1:18080
      # - HTTPS_PROXY=http://172.17.0.1:18080

  go-bingai-pass:
    image: zklcdc/go-bingai-pass
    container_name: go-bingai-pass
    restart: always
    environment:
      # - PROXY_SERVER=http://0.0.0.0:7860
      - PASS_TIMEOUT=3
      - HEADLESS=false

Expected behavior

正常请求

Screenshots

No response

Deploy

Docker

UserId

No response

OS & Version

Ubuntu

Browser & Version

Chrome

GoProxiBingAI Version

latest

Additional context

No response

Harry-zklcdc commented 8 months ago

https://github.com/Harry-zklcdc/go-proxy-bingai/issues/365#issuecomment-1983655775

go-proxy-bingai:
  environment:
    - BYPASS_SERVER=http://172.17.0.1:7860

这玩意别改

wuyu8512 commented 7 months ago

我在想你懂这方面知识吗,假设我docker网段不是 172.17.0.0/16 呢,假设我不想要映射端口,直接容器访问容器呢 还是说这个 BYPASS_SERVER 的环境变量就只能是写死的 http://172.17.0.1:7860 呢,这是否太愚蠢了

Harry-zklcdc commented 7 months ago

https://github.com/Harry-zklcdc/go-proxy-bingai/issues/365#issuecomment-1986859875

那你先想想我为啥要写死,而不是用容器之间访问

wuyu8512 commented 7 months ago

那恕我实在想不通,首先 go-proxy-bingai 日志分析,解析到的 go-bingai-passip 是对的,但请求不通 从go-proxy-bingai的终端直接wget直接请求就通了,我只能怀疑是程序本身问题

Harry-zklcdc commented 7 months ago

你是不是配了HTTPS_PROXYHTTP_PROXY这两个环境变量。如果配了,那就会把人机验证的请求通过代理去请求,然而你的代理不在容器内,是无法直接访问 go-bingai-pass 这个hostname的,这也是为啥我要在docker-compose.yml 里面写死的原因(当然你可以自己改,改炸了别赖我就行),就防着有人配了代理然后运行不了

wuyu8512 commented 7 months ago

你看我上面写的 compose 文件咯,我只删掉了token相关的变量

# - HTTP_PROXY=http://172.17.0.1:18080
# - HTTPS_PROXY=http://172.17.0.1:18080

是不是都注释了,难道程序有默认代理?

Harry-zklcdc commented 7 months ago

go-bingai-pass的PROXY_SERVER的变量是用来填代理服务器的,别改成 0.0.0.0:7860,还有检查你的防火墙,是否运行 172.17.0.1/12 访问

wuyu8512 commented 7 months ago

注释了也一样,建议自己试试吧

Harry-zklcdc commented 7 months ago

*检查防火墙是否允许 172.17.0.0/12

PS: 主演示站就是这样部署的

wuyu8512 commented 7 months ago

真正的问题是 go-proxy-bingaigo-bingai-pass 先一步启动导致日志有报错 建议兄弟学习一下docker的网络接口,不是什么东西都是 172.17

Harry-zklcdc commented 7 months ago

😂😂😂

我知道 docker 的网络接口,只是不想用,用了太破坏性了,具体原因还是上面那个,会和代理配置冲突。对于你们这些大佬,自己改当然没问题

PS: 我本身就是在搞异地组网建设的,逆向只是顺手搞的

Harry-zklcdc commented 7 months ago

突然想起来,你想要一体部署的话,用这个镜像 zklcdc/go-proxy-bingai:latest-with-pass