您现在的位置是:首页 > 正文

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

2024-01-30 22:32:45阅读 0
文章目录

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密码(没有可以不填)

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

2.1.部署nginx反代:

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

  1. nginx网页配置工具 感谢cym1102大佬
  1. 创建挂载目录

    mkdir -p /home/nginxWebUI:/home/nginxWebUI

  2. 运行部署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/

📝结尾

看到这里了还不给博主扣个:- ⛳️ 点赞☀️收藏 ⭐️ 关注!- 💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖- 拜托拜托这个真的很重要!- 你们的点赞就是博主更新最大的动力!- 有问题可以评论或者私信呢秒回哦。

网站文章

  • 【Java可执行命令】(十六)诊断命令请求发送工具 jcmd:提供一种简单而强大的方式来管理和监控 Java 进程 ~ 最新发布

    【Java可执行命令】(十六)诊断命令请求发送工具 jcmd:提供一种简单而强大的方式来管理和监控 Java 进程 ~ 最新发布

    jcmd是一个强大且方便的命令行工具,用于与正在运行的 Java 进程进行交互、管理和监控。通过它,可以执行各种诊断命令以了解应用程序的状态,进行调试和性能优化,并提供简洁易用的命令行界面。然而,在使用jcmd时需要注意安全性问题,并且目前仅支持本地 Java 进程的操作。无论是开发人员还是运维人员,都可以从jcmd中获益,并提高对 Java 应用程序的管理和监控能力。

    2024-01-30 22:32:37
  • python获取当前星期几

    python获取当前星期几

    2024-01-30 22:32:08
  • 【Flutter实战 --- 渐变 圆角矩形背景 圆球背景】

    【Flutter实战 --- 渐变 圆角矩形背景 圆球背景】

    需求: 渐变圆球 圆角矩形 单行文本: 多行文本: 关键 圆球: decoration: BoxDecoration 圆角矩形:ClipRRect borderRadius 控制圆角 代码 return Column( children: [ Row( children: [ Padding( padding: const Edge

    2024-01-30 22:32:06
  • kali系统中使用weevely创建木马(合并成图片木马)

    这里写目录标题weevely:kali中的军刀图片木马weevely:kali中的军刀创建木马:weevely generate <password> filename.php连接木马:weevely...

    2024-01-30 22:31:58
  • 计算机中机械硬盘的性能指标,硬盘的性能指标是什么

    计算机中机械硬盘的性能指标,硬盘的性能指标是什么

    硬盘的性能指标,包括硬盘容量、硬盘速度、硬盘转速、接口、缓存、硬盘单碟容量等。硬盘的性能指标,包括硬盘容量、硬盘速度、硬盘转速、接口、缓存、硬盘单碟容量等。硬盘的性能指标一、容量作为计算机系统的数据存...

    2024-01-30 22:31:51
  • Spring Cloud Alibaba 整合OpenFeign

    Spring Cloud Alibaba 整合OpenFeign

    在前面的文章我们写过一次Spring Cloud Alibaba 怎么做服务调用,当时说的Spring Cloud 内建两种实现方法,分别是 @LoadBalanced RestTemplate 以及...

    2024-01-30 22:31:23
  • maven html文件 404,simple spring web maven 项目无法发布到tomcat下(404异常)

    当前位置:我的异常网» Java Web开发»simple spring web maven 项目无法发布到tomcat下(4simple spring web maven 项目无法发布到tomcat下(404异常)www.myexceptions.net网友分享于:2015-10-21浏览:0次simple spring web maven 项目无法发布到tomcat下(404错误)...

    2024-01-30 22:31:15
  • html页面基于ajax按钮60秒倒计时

    基于ajax按钮动态刷新倒计时 var count = 60;//声明全局变量 $(function(){ var starttime = $.cookie(&quot;registertime&quot;);//取上次点击按钮发送验证码的时间 if(starttime){//判断是否在该浏览器点击过该按钮 var curtime = new Date().fo...

    2024-01-30 22:31:08
  • SpringBoot读取properties配置文件

    application.properties #map 第一种方式 data.person.name=zhangsan data.person.sex=man data.person.age=11 d...

    2024-01-30 22:30:39
  • 不同语言程序 zmq 通信遇到的问题

    工作中用到了golang写一个opc 客户端,从opc server获取数据,并格式化成内部通用格式,屏蔽外差异。用到了golang的zmq ,作为 publish server。以前客户端是用python写的,用的是subscribe模式。但是有一个问题,python 的zmq 的发送接收有很多方法,send(), send_json(), send_multipart(),而golang...

    2024-01-30 22:30:32