搭建自己的 new bing网站----nginx反代(群晖,全docker版)

news/2024/7/7 21:44:48 标签: nginx, docker, 服务器

文章目录

    • 1.前言:
    • 2. 部署过程:
      • 2.1.部署go-proxy-bing 项目:
      • 2.1.部署nginx反代:
      • 这两步完成实际上就可以访问了,
    • 3.部署聊天服务器
    • 代表链接成功!

1.前言:

本篇教程全萌新向,即便新手也可以看懂(希望大家点个赞)。

演示效果如图。
在这里插入图片描述
本篇文章以nginx反代为题带来一次new bing 的反代实践,可以搭建在自己的服务器上自用,使用起来更方便一点。

  1. 我们首先感谢 adams549659584大佬贡献的项目。
    在这里插入图片描述

项目地址:

  1. go-proxy-bing bing项目演示(go + vue)
  1. 部署准备:
  1. 一台有公网ip的inux服务器(我的是国内群晖,外网更方便一点)
  2. 一个域名(用于https反向代理
  1. 我们的部署目标:
  1. go-proxy-bing 演示核心项目
  2. nginx(其他项目也行,支持https反代就可以)
  3. 聊天服务器 (国内服务器最好搭建一个用于处理bing请求)

2. 部署过程:

2.1.部署go-proxy-bing 项目:

  1. linux主机需要安装docker,安装docker具有多设备的普适性,无论软路由,还是linux,群晖都可以安装。(许多系统都能一键安装,没安装的建议自行搜索)

  2. 部署go-proxy-bing

如果你是外网服务器可以不设置代理

docker run -d -p 8081:8080 --name go-proxy-bingai --restart=unless-stopped adams549659584/go-proxy-bingai

这里端口设置8081是防止和nginx端口冲突(当然如果不是一台主机部署可以另说)

如果是国内服务器希望配置个sock代理(这个自行搜索,当然不配也可以)

docker run -e Go_Proxy_BingAI_SOCKS_URL=192.168.0.88:1070 -e Go_Proxy_BingAI_SOCKS_USER=xxx -e Go_Proxy_BingAI_SOCKS_PWD=xxx -d -p 8081:8080 --name go-proxy-bingai --restart=unless-stopped adams549659584/go-proxy-bingai

Go_Proxy_BingAI_SOCKS_URL: socks服务器地址
Go_Proxy_BingAI_SOCKS_USER:socks用户名(没有可以不填)
Go_Proxy_BingAI_SOCKS_PWD:socks密码(没有可以不填)

然后核心项目就配置好了。
在这里插入图片描述

nginx_51">2.1.部署nginx反代:

我这里为了给新手减少难度使用nginx的第三方ui进行部署(该ui内置nginx)。

  1. nginx网页配置工具 感谢cym1102大佬
  1. 创建挂载目录
mkdir -p /home/nginxWebUI:/home/nginxWebUI
  1. 运行部署nginx-ui
docker run -itd \
  -v /home/nginxWebUI:/home/nginxWebUI \
  -e BOOT_OPTIONS="--server.port=8080" \
  --privileged=true \
  --net=host \
  cym1102/nginxwebui:latest

由于我们go-bing开到了8081端口,所以这个nginx可以直接部署。
同时这一步需要docker支持host网络模式,部分封闭式路由无法开启host和privileged(如爱快)
在这里插入图片描述

*3. 映射端口(正常服务器跳过)

把你的端口映射到外网
在这里插入图片描述
我这里吧群晖的8080-8090(8080家宽需要更改,因为不能用)映射到外网,这样就可以外网打开了

  1. 配置https反向代理
  • 打开nginx-ui设置密码 ip:8080(第一次初始化设置密码)
    在这里插入图片描述
  • 配置nginx反代证书
  1. 到对应域名网站申请免费证书(我这里以阿里为例)。. 在这里插入图片描述
    输入相关信息申请后就如上图所示。
  2. 下载证书(选择nginx版本的下载)
    在这里插入图片描述
    下载后是一个pem和一个key文件
    在这里插入图片描述
  3. 上传到nginx

在这里插入图片描述
4. 配置https反向代理(记得选择刚刚上传绑定的域名证书)
在这里插入图片描述
没有使用nginx-ui的可以参考如下配置。

server {
  server_name `域名`;
  listen 8085 ssl http2;
  ssl_certificate /home/nginxWebUI/cert/null/bing.nuliyangguang.top.pem;
  ssl_certificate_key /home/nginxWebUI/cert/null/bing.nuliyangguang.top.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  listen 8081;
  if ($scheme = http) {
    return 301 https://$host:8085$request_uri;
  }
  location / {
    proxy_pass localhost:8081;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect http:// https://;
  }
}

我这里是选择的8085端口,如果443端口能用肯定是443方便。
下面因为我go-bing在同一台主机上所以代理ip填的localhost:8081,如果在其他主机上请填写其他内网ip或者公网ip.

然后保存重启。

这两步完成实际上就可以访问了,

在这里插入图片描述
当然如果想更流畅的访问还是建议配置一个聊天服务器一个小型的反代js

3.部署聊天服务器

需要的准备:

  1. 一个免费的cloudfare账号。cloudfare官网

反代js:
js地址 需要复制一下

  1. 添加站点
    在这里插入图片描述
    需要在对应域名服务器把dns服务器修改成cloudfare服务器,让cloudfare接管dns解析
    在这里插入图片描述

  2. 创建worker服务
    在这里插入图片描述
    先创建再修改,修改为上文反代js。

  3. 创建触发器
    在这里插入图片描述

这里添加自定义域会自动把你的域名解析到worker。

这里等待两分钟。
4. 搭建成功

在这里插入图片描述
访问域名,显示这样就搭建成功,可以粘贴到 new bing中使用了。
在这里插入图片描述

代表链接成功!

这里把我的聊天服务器贴出来用于大家自己测试,如果有其他疑问欢迎私信讨论。
聊天服务器 : https://sydeny.yanguangshare.top/


http://www.niftyadmin.cn/n/443179.html

相关文章

从618「技术暗战」,看乡村振兴的未来「赛点」

作者 | 曾响铃 文 | 响铃说 作为消费复苏后的首个消费节点,从“史上消费者福利最大的618”“史上投入最大的一届618”等口号,都能感觉到这届618的火药味比以往要浓得多。 有业内人士透露,这次的年中大促无论从商品种类、数量还是提供的服务…

FreeRTOS 任务优先级 【杂记】

FreeRTOS任务优先级 FreeRTOS任务优先级:任务优先级数值越小,任务优先级越低。 1、 FreeRTOS 中任务的最高优先级是通过 FreeRTOSConfig.h 文件中的configMAX_PRIORITIES 进行配置的,用户实际可以使用的优先级范围是 0 到 configMAX_PRIORIT…

代码托管/版本控制工具:Git的安装和使用

目录 一、Git的下载和安装二、Git基本配置三、代码上传到远程仓库四、代码下载到本地 一、Git的下载和安装 1.登录GitHub官网https://github.com/注册账户密码 2.登录https://git-scm.com/download/win (根据自己电脑的位数和系统下载git) 3.双击Gi…

jvm-jstack的各种用法

jstack 是一个常用的用于分析 Java 进程的工具。它可以显示 Java 进程中所有线程状态和堆栈信息,帮助定位 Java 进程中的问题。以下是一些 jstack 常用的用法示例: 分析 Java 进程线程信息 使用 jstack 工具分析正在运行的 Java 应用程序的线程信息。 …

朋友圈功能合集来咯!定时发朋友圈,查看朋友圈,朋友圈跟圈,一键转发朋友圈,延迟评论

🌊发布朋友圈 功能介绍:可使用已登录在系统上的微信号发送朋友圈。支持发送图片、文字、视频和公众号链接等几种类型的内容。 (1)朋友圈内容编辑:可以在输入框中输入要发送的文本,并在浮窗中选择表情。上传图片可以点…

English Learning - L3 Lesson6 NCE2-Dead Return 译文

嚼碎新概念 (第二册 L96) A Festival for the Dead is held once a year in Japan. 在日本每年都要举行一次亡灵节。 This festival is a cheerful occasion, for on this day, the dead are said to return to their homes and they are welcomed by …

2023-06-17:说一说redis中渐进式rehash?

2023-06-17:说一说redis中渐进式rehash? 答案2023-06-17: 在Redis中,如果哈希表的数组一直保持不变,就会增加哈希冲突的可能性,从而降低检索效率。为了解决这个问题,Redis会对数组进行扩容&am…

【gitflow】 概念基本介绍

gitflow 简介 什么是gitflow? 我们大家都很会用git,但是我们很少去关心我们要怎么用branch和版本控制。 只知道master是第一个主分支,其他分支都是次要分支, 那你知道如下的问题如何回答吗? 如何保证主分支的稳定…