adams549659584 / go-proxy-bingai

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

记录一下境内服务器+SSR+不用docker+无域名+堡垒面板部署过程 #287

Open thunderning opened 1 year ago

thunderning commented 1 year ago

一、境内服务器+SSR

其实主体是参考 #71 部署的,但是出现的问题就是我是使用本地服务器部署的代理,和他有一部分不同。 境内服务器本地部署代理的话不要轻易开启端口,否则容易被检测封服务器 SSR部署参考 https://www.xiaobaibk.com/395/ 或其他网上教程,就不多说了,服务器我使用的是腾讯云服务器,ssr监听的端口是127.0.0.1:1080 配置完可以用 curl --socks5-hostname 127.0.0.1:1080 -i https://www.google.com 来测试是否配置成功

二、申请SSL证书

如果你有域名的话直接用域名即可,没有的话因为国内域名需要备案,比较麻烦,可以去申请一个使用IP就可以的SSL证书,比如 https://zerossl.com/ 这方面的教程可以参考 https://www.cheshirex.com/6789.html 也很简单,这样创建的网站也是可以访问的。

三、堡垒面板设置

有了SSL证书之后,就可以去堡垒面板创建一个网站,定好域名就是ip

image

填入SSL证书并开启强制SSL

image

设置反向代理

image

注意,在反向代理的配置文件中改成项目主推荐的

location /sydney/ChatHub {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version                 1.1;
    proxy_set_header Upgrade           $http_upgrade;
    proxy_set_header Connection        $connection_upgrade;
    proxy_set_header Host              $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host  $host;
    proxy_set_header X-Forwarded-Port  $server_port;
}

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host              $host;    
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host  $host;
    proxy_set_header X-Forwarded-Port  $server_port;
} 

image

这样堡垒面板的配置就完成了

四、克隆代码进行服务器部署

为什么不用docker呢?

因为docker不能走服务器回环地址,需要外网或内网IP,这些开放了端口的话服务器会被封,简单来说就是用docker就不能设置socks_url = 127.0.0.1:8080,除非你在docker里面配置代理。

所以,我选择安装代码环境,好在并不难,克隆下来代码之后,我是centos的服务器,所以我用

yum install golang

直接安装就可以,如果安装不了可能是需要启动命令行代理,参考上面的SSR配置的参考网站即可,安装好后可以

go version

来确定是否安装完成,版本无所谓。 image

安装好以后,修改文件/common/env.go,让SOCKS_URL直接指向127.0.0.1:1080 image

然后命令行输入

$ go build -ldflags="-s -w" -tags netgo -trimpath -o go-proxy-bingai main.go
$ ./go-proxy-bingai 

服务器就可以启动了,后续记得把这个运行放后台或者开个screen放后台就行了。

小TIPS

项目现在更新没有跟上微软的更新,点赞导出之类的功能都不能用,但是项目主的网页是更新了的,所以可以去项目主的网站后,查看源代码,复制js/bing/chat中的: amd.js config.js core.js global.js lib.js 五个文件,分别替换掉项目的web/js/bing/chat中对应的五个文件,然后

$ go clean
$ go build -ldflags="-s -w" -tags netgo -trimpath -o go-proxy-bingai main.go
$ ./go-proxy-bingai 

就完事了。

fenger7 commented 1 year ago

能改一下,里面的js文件的引用嘛,改成jsdelivr cdn(免费的),这样即使使用国外服务器,也不会加载很久了。 image

CN-YoungYang commented 1 year ago

点 新主题后,还能 继续 提问吗

TANGandXUE commented 1 year ago

太感谢了,搞定了

TANGandXUE commented 1 year ago

他这个可以的,不知道为什么,所以很好用