missuo / FreeGPT35

Utilize the unlimited free GPT-3.5-Turbo API service provided by the login-free ChatGPT Web.
GNU Affero General Public License v3.0
3.34k stars 1.03k forks source link

如何通过 Nginx Proxy Manager 实现反向代理? How to implement reverse proxy through Nginx Proxy Manager? #38

Closed Mrered closed 6 months ago

Mrered commented 6 months ago

如题,感谢作者!As title go, thanks!

CellLz commented 6 months ago

建议通过cloudflare的tunnel进行反代,可以自动配置好tls证书进行加密

Mrered commented 6 months ago

我的情况比较特殊,我在国内有可用网络的 NAS 上部署服务,用 Tailscale 隧穿到国内云服务器上,用 Nginx Proxy Manager 代理隧穿过来的服务。我之前尝试在 NAS 上装 Cloudflare Tunnel 容器,但是因为 NAS 使用 OpenWrt 提供网络,CF Tunnel 一直无法正常配置。

troublemakerMibu commented 6 months ago

我也存在同样的疑问。我使用的是docker部署NPM,但是疑惑的是因为docker同时部署NPM和Freegpt35两个容器,其docker0网桥并不一致,是否可以使用docker inspect 来分别查看两个容器的ip,然后再NPM的反代ip里面设置freegpt35的容器ip; 另一种思路是在部署容器的时候使用docker network create my_network命令来创建一个docker网络,然后启动容器时用--network参数来指定,使NPM和freegpt35处于同一个网络中,再进入NPM界面设置反代。 不知道哪种方式比较好,有没有大佬或者实操过的朋友给出解答

CellLz commented 6 months ago

我也存在同样的疑问。我使用的是docker部署NPM,但是疑惑的是因为docker同时部署NPM和Freegpt35两个容器,其docker0网桥并不一致,是否可以使用docker inspect 来分别查看两个容器的ip,然后再NPM的反代ip里面设置freegpt35的容器ip; 另一种思路是在部署容器的时候使用docker network create my_network命令来创建一个docker网络,然后启动容器时用--network参数来指定,使NPM和freegpt35处于同一个网络中,再进入NPM界面设置反代。 不知道哪种方式比较好,有没有大佬或者实操过的朋友给出解答

不用那么麻烦,在部署docker的时候会写两个端口号(类似于3030:3030这种),这就意味着这个项目的访问地址和端口就是你的服务器的ip:3030.直接用服务器的IP地址和这个端口号就行了。

Mrered commented 6 months ago

我也存在同样的疑问。我使用的是docker部署NPM,但是疑惑的是因为docker同时部署NPM和Freegpt35两个容器,其docker0网桥并不一致,是否可以使用docker inspect 来分别查看两个容器的ip,然后再NPM的反代ip里面设置freegpt35的容器ip; 另一种思路是在部署容器的时候使用docker network create my_network命令来创建一个docker网络,然后启动容器时用--network参数来指定,使NPM和freegpt35处于同一个网络中,再进入NPM界面设置反代。 不知道哪种方式比较好,有没有大佬或者实操过的朋友给出解答

你直接在 NPM 里使用 172.17.0.1 这个 Docker host 网络的 IP 代理即可。

我反向代理的问题已经解决了,直接修改了 NPM 的 .conf 配置文件。

findthewayxf commented 6 months ago

新建一个网络隔离

docker network create --subnet=172.18.0.0/16 npm

npm 运行在同一网段即可

services:
  freegpt35-web:
    image: yidadaa/chatgpt-next-web
    container_name: freegpt-web
    restart: unless-stopped
    environment:
      - OPENAI_API_KEY=123456
      - CODE=passwd
      - BASE_URL=http://freegpt-api:3040
      - CUSTOM_MODELS=-all,+gpt-3.5-turbo
    networks:
      npm:
        ipv4_address: 172.18.0.171
    depends_on:
      - freegpt35-api

  freegpt35-api:
    image: missuo/freegpt35:latest
    container_name: freegpt-api
    restart: unless-stopped
    networks:
      npm:
        ipv4_address: 172.18.0.172

networks:
  npm:
    external: true