nginxWebUI使用方法

nginxWebUI使用方法

阅读量:
评论数:

nginxWebUI使用方法

究极好用,神中神😍

项目介绍

本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。

本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。

项目官网:nginxWebUI - 首页

GitHub地址:Nginx网页管理工具,使用网页来快速配置与管理nginx单机与集群 (github.com)

Docker Hub地址:cym1102/nginxwebui - Docker Image | Docker Hub

部署过程

本次教程使用一台512m的Ubuntu洛杉矶小鸡搭建nginxWebUI。

需要开放80、443端口,如果家宽有公网IP也可以搭建,部分地区的IPv6还没封这两个端口,如果没有标准端口也能用其他端口,只是意义不大了,用非标端口得加端口号才能访问。

Web Server标准端口

80--标准 HTTP 端口;443--SSL 上的 HTTP

web服务部署在这两个端口上访问时,可以不用再加端口号了,443端口配置好ssl证书浏览器会显示连接安全,有一把锁,好看就完事了😋本项目可以简单实现80自动跳转443端口。

Docker部署

java部署需要安装java环境、nginx和nginxwebui,本次教仍旧使用docker部署,一个镜像解决,什么年代了还在用传统部署方式😤

如果没有docker可以看这篇:Docker安装

部署命令

docker run -itd \
  --name nginxwebui \
  -v /home/nginxWebUI:/home/nginxWebUI \
  -e BOOT_OPTIONS="--server.port=8080" \
  --privileged=true \
  --net=host \
  --restart=always \
  cym1102/nginxwebui:latest

为了安全最好改下端口。

ip加端口号成功访问。

initialization.webp

注意

启动容器时请使用--net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.

-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号, "--server.port 占用端口", 不填默认以8080端口启动

日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

使用方法

事前准备

本机ip解析到域名,IPv4选A类型,IPv6选AAAA类型。

先准备好域名证书😊可以添加泛域名证书,如 *.kelao.de ,超级方便,本次教程以cloudflare为例。

登陆后点击证书管理→添加证书,如果已经有证书可以直接上传。

DNS服务商改为cloudflare,可以选择申请获得或者dns验证,记得点亮自动续签。

tnnd😡Let’s Encrypt是不是歧视免费域名啊,申请半天不给过,用.xyz域名秒过。

申请获得

填写cf账号的邮箱,CF_Key登录cf账号后点击此处获得,查看Global API Key,复制粘贴至CF_Key。

提交后点击申请即可。

DNS验证

点击申请获得主机记录,前往cloudflare添加txt类型即可,填好后再次点击申请。

txt.webpcf-txt.webp

勘误:名称搞错了,应该是 _acme-challenge.test,怪不得DNS验证老不过呢,不过用cf账号、key的申请获得方式没填错为什么没过呢🥲

反向代理

先把nginxwebui自己反代一下😋

点击 反向代理(server)→添加反向代理。

有80、443端口的话这样填就行了,开启ssl,选择证书,默认从80端口跳转至监听端口,80、443端口不能用的这两个端口都要改。

添加代理目标,反代选择动态http类型,目标填写url,可选开启websocket,某些服务有用。

填完点击提交。

reverse_proxy.webp

启用配置

点击左侧启用配置。

qiyong.webp

可以看到有三个蓝色按钮,可选按域名分解文件。

等下方配置文件加载完成再点击校验文件按钮,否则会报错。

系统确认配置无误后再点击替换文件,最后点击重新装载

浏览器访问test1.example.xyz,自动跳转https,搞定!

success-2.webp

密码文件管理

前往左侧密码文件管理,点击添加,输入用户名及密码,可选提示。

密码文件管理.webp

提交后在编辑反向代理界面即可看到密码选项

编辑反向代理.webp

选择密码并提交,重新启用配置

前往该网页看看👀

nginx身份验证.webp

需要输入密码才能看😋不过提示在哪我也不清楚😅不知道哪出问题了

部署静态网页

将静态网页打包进一个压缩包,在静态网页上传页面上传压缩包。

再返回反向代理页面,添加反向代理。

添加代理目标,选择静态html代理类型,root模式,点击文件夹图标选择路径,要选择到html文件的上一层文件夹,默认页改为静态html的名字比如index.html。

html-1.webp

提交后前往启用配置页面依次点击3个蓝色按钮以装载配置。

浏览器成功访问doc.example.de,同样自动跳转https。

page.webp

nginx 413 Request Entity Too Large解决方法

nginx对上传文件大小有限制,默认是1M,传输大于1M的文件会报413。

解决方法:http参数配置页面添加http参数配置,名称:client_max_body_size,值:1000m(想要多大填多大)。

或者点击简易配置向导,一键全部搞定。

size.webp

注意

每次在反向代理修改配置后需要在启用配置里重新启用才能生效。

抱歉

自认为玩了好久的docker,没想到在命名容器上犯了个大错,想当然的以为是-n命名,其实是--name,玩图形化操作玩多了,docker的基本操作都搞忘了。

记得当时我还问了ChatGPT,它跟我说效果一样,我还真信了,现在问一遍又给了我正确的回答,看来对ai的回答还是得更加谨慎,要多方验证才行。

Built with Halo
主题 Stack Jimmy 设计 • 由Jiewen移植
📑共水了 93篇文章.
载入天数... 载入时分秒...
RSS Icon RSS订阅