adams549659584 / go-proxy-bingai

用 Vue3 和 Go 搭建的微软 New Bing 演示站点,拥有一致的 UI 体验,支持 ChatGPT 提示词,国内可用。
MIT License
8.86k stars 13.3k forks source link

海外VPS服务器部署显示“不可用”的问题的解决方案 #256

Open xzy103 opened 1 year ago

xzy103 commented 1 year ago

01 问题场景

我买了一台海外的VPS服务器,按照项目主页介绍中docker配置的方式启动项目,并且使用nginx做了端口转发。 部署好后,页面虽然可以访问,但我自己的域名那里提示“不可用”。

02 参考大佬的分享

有幸看到大佬 @showlee的分享 #154 但是大佬的解决方案与我部署的方案不同。 大佬使用docker部署时,拉取的镜像是chishin/nginx-proxy-manager-zh,这是一个集合了nginx和proxy的镜像。 而我拉取的是adams549659584/go-proxy-bingai(这与项目作者提供的docker-compose.yml是一致的),我的nginx是自己单独配置的。 在这个issue的讨论中,有小伙伴提到打开websocks支持可以解决问题。

image

顺着这个思路,我更改了自己的nginx.conf,解决了问题。

03 我的配置

3.1 项目本体docker

使用项目作者在README.md中提供的配置。(根据自己情况略作了更改)

version: '3.3'
services:
  go-proxy-bingai:
    # 镜像名称
    image: adams549659584/go-proxy-bingai
    # 容器名称
    container_name: go-proxy-bingai  
    # 自启动
    # restart: unless-stopped
    ports:
      - 1003:8080

3.2 nginx的配置

我在nginx的请求转发配置中,增加了3行(其他没变),顺利解决了问题。 这3行的作用是让nginx支持WebSocket的请求转发。

...
http {
    ...
    server {
        ...
        location / {
            # 原配置中只有这1行
            proxy_pass http://127.0.0.1:1003;
            # 新配置增加了下面3行
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        ...
    }
}

04 解决后的图

屏幕截图 2023-06-19 003512

可以愉快的使用了!

oldtian123 commented 1 year ago

我用的是NPM面板做的方向代理,要怎么操作呢

xzy103 commented 1 year ago

我用的是NPM面板做的方向代理,要怎么操作呢

正在自学前端,刚学完使用nvm安装nodejs,帮不上什么忙😂

oldtian123 commented 1 year ago

我用的是NPM面板做的方向代理,要怎么操作呢

正在自学前端,刚学完使用nvm安装nodejs,帮不上什么忙😂

我纠正一个你弄错的地方, chishin/nginx-proxy-manager-zh这个镜像是nginx-proxy-manager中文管理面板的docker镜像,简称NPM,它还有个原版的镜像,这不是 go-proxy-bingai的镜像和这个项目是两个docker镜像

xzy103 commented 1 year ago

我用的是NPM面板做的方向代理,要怎么操作呢

正在自学前端,刚学完使用nvm安装nodejs,帮不上什么忙😂

我纠正一个你弄错的地方, chishin/nginx-proxy-manager-zh这个镜像是nginx-proxy-manager中文管理面板的docker镜像,简称NPM,它还有个原版的镜像,这不是 go-proxy-bingai的镜像和这个项目是两个docker镜像

因为正在敲npm命令,没注意看就代入了(走火入魔),些许尴尬~ NPM的解决方案似乎在 #154 中有提到,我个人没用过,不是很清楚哈