Docker
服务搭建
Docker-笔记类
Docker-Wiki.js
Docker-Trilium(个人云笔记)
Docker-MrDoc(觅思文档)
Docker-MinDoc(文档管理系统)
Docker-Wiz(为知笔记)
Docker-Wizard(开源文档管理系统)
Docker-siyuan(思源笔记)
Docker-Athensresearch(雅典)
Docker-Logseq(日志序列)
Docker-Joplin Server(需搭配APP)
MarkDown-进阶
Docker-AFFiNE(白板文档)
Docker-Obsidian(黑曜石)
Html-文章保护
Docker-Memos(备忘录)
Docker-Etherpad(实时协作在线编辑器)
Docker-AppFlowy
Docker-DokuWiki(维基)
Docker-小书匠
Docker-MD(微信 Markdown编辑器)
Docker-Halo(个人博客)
闲置宽带利用
甜糖
网心云
点心云
Docker-JS TOOL(京豆)
Docker-Gitea(代码托管平台)
Git使用小技巧
Git-命令推送
Git-常用命令
Docker-CentOS
Docker-iperf3(网络测速)
Docker-QingLong(青龙面板)
🚫青龙-NolanJDCloud
青龙-Ninja
青龙-京豆
青龙-互助码
青龙-WxPusher(通知)
青龙-其他脚本
青龙-bilibili
青龙-短视频金币
青龙-常见问题
青龙-迁移
青龙-快速部署
Docker-EMQX(MQTT服务器)
EMQX-高级操作
Docker-Home Assistant
Docker-RustDesk(远程桌面)
Docker-邮箱系统
Docker-SRS(直播服务器)
Docker-Bitwarden(密码服务器)
Bitwarden-TOTP(双因素认证2FA)
Docker-书签/导航
Docker-OneNav
Docker-Flare
Docker-WebStack
Docker-GEEKAPE
Docker-nav(发现导航)
Docker-Linkding(网络书签)
Docker-Wallabag(网络书签)
Docker-Benotes(书签)
Docker-LyLme Spage(六零导航页)
Docker-Homarr(浏览器仪表板)
Docker-Sun-Panel
Docker-Nginx
Docker-nginxWebUI(反向代理)
Docker-Nginx Proxy Manager
Docker-Nginx Config(配置生成器)
Docker-Nginx UI
Nginx-配置详细说明
PHP扩展
Nginx-安全
Nginx-Shell管理脚本
Docker-Redis
Docker-Jupyter(Python在线环境)
JupyterHub(支持课程管理)
Jupyter(单用户)
Jupyter-OpenCV
JupyterHub-自构建
Docker-LiveTorrent(磁力链在线解析)
Docker-OpenVPN
OpenVPN-配置注释
OpenVPN-基础部署
OpenVPN-一键脚本部署
OpenVPN-访问内部设备
OpenVPN-ovpn-admin(WebUI)
Docker-Switch联机
Docker-网站统计
Docker-Umami
Docker-Matomo
Docker-IPsecVPN
Docker-Zerotier(虚拟组网)
ZeroTier-Planet(星球)
Zerotier-Moons(月亮)
Zerotier-伪根服务器(修改UI)
ZeroTier-局域组网
Docker-Linux
Docker-Screeps 服务器
Docker-Harbor(Docker 镜像服务器)
Harbor-镜像迁移
docker-mirror(镜像转存工具)
Docker-Reader(网文阅读器)
Docker-聊天类
Docker-Rocket.chat(IM聊天系统)
Docker-Fiora(二次元聊天室)
Docker-Mattermost(开发者聊天室)
Docker-唐僧叨叨
Docker-Mastodon
Docker-VoceChat
Docker-blogChat(在线聊天室)
Docker-NASTools(影音库工具)
Docker-Lottery(抽奖程序)
Docker-VSCode Web版
Docker-临时分享类
Docker-PasteMe(自销毁小纸条)
Docker-PasteBin(临时分享)
Docker-Pingvin Share(文件分享)
Docker-Snapdrop(局域网传输)
Docker-FileCodeBox(文件快递柜)
Docker-microbin(临时分享)
Docker-PairDrop(局域网传输)
Docker-FastSend(文件快传)
Docker-internal-chat(局域网文字/文件)
Docker-Enclosed(私密安全笔记)
Docker-任务管理类
Docker-TAIGA(看板)
Docker-Focalboard(看板)
Docker-DooTask(轻量级任务管理工具)
Docker-Vikunja(待办事项)
Docker-Tasks.md(任务管理板)
Docker-Send(私密文件分享)
Docker-ScreeGo(在线多人屏幕分享)
Docker-ChatGPT
ChatGPT(伪)-部署
ChatGPT-未测试项目
ChatGPT-ChatGPT Web
🚫ChatGPT-ChatGPT Vercel
🚫ChatGPT-PandoraNext(潘多拉)
🚫ChatGPT-PandoraNext-Helper(Token管理)
Docker-kkFileView(文件在线预览)
Docker-问卷考试类
Docker-学之思(开源考试系统)
Docker-文字识别类(OCR)
Docker-OCR(Python)
Docker-Paperless-ngx(无纸化)
Docker-短链类
Docker-Yourls(短链)
Worker短链(CloudFlare)
Docker-GreaterWMS(仓管系统)
Docker-内网穿透
Docker-Frp
Docker-NPS
Frp-客户端配置工具
Docker-Frp-Panel
Docker-OpenP2P
Docker-网盘
Docker-AList(云盘直链)
🚫Docker-FileRun(个人网盘)
Docker-腾飞WebOS
Docker-Cloudreve(支持WebDAV子账户)
Docker-Seafile
Docker-ZFile
Docker-Dufs(轻量文件服务器)
Docker-FileGator
Docker-SSH/远程桌面
Docker-Guacamole(远程桌面)
Docker-Nexterm(服务器管理软件)
Docker-Sshwifty(SSH&Telnet客户端)
Docker-Next Terminal(Web终端)
Docker-CF_Tunnels(隧道)
Docker-RouYi_WMS
Docker-图形化管理工具
Docker-Portainer(图形化管理工具)
Docker-SimpleDocker(Docker控制面板)
Docker-Easypanel(易面板)
Docker-DockerUI(国内图形化)
Docker-1Panel
Docker-宝塔
Docker-lazydocker(Shell UI)
Docker-⭐DPanel(可视化管理面板)
Docker-⭐Dockge(docker-compose管理器)
Docker-Dokploy(PaaS)
Docker-UpSnap(局域网唤醒)
Docker-Watchtower(自动更新)
Docker-RunnerGo(全栈测试)
Docker-Web工具箱
Docker-Stirling-PDF(PDF工具)
Docker-IT Tools(IT工具箱)
Docker-Reference(速查神器)
Docker-Photopea(在线PS)
Docker-miniPaint(在线PS)
Docker-Morphos(文件转换)
Docker-证件照片排版
Docker-网易云解锁
Docker-nondanee_UnblockNeteaseMusic
Docker-UnblockNeteaseMusic
Docker-LX Music_Sync(数据同步)
Docker-在线白板类
Docker-Wbo(协作白板)
Docker-Excalidraw+(在线白板)
Docker-tldraw
Docker-Cook(今天吃什么)
Docker-Android
Docker-QD(自动签到)
QD-使用说明
Docker-消息推送(通知)
Docker-Wecom酱
Docker-Gotify(消息通知)
Docker-WeChatBot(微信机器人)
Docker-lumen项目部署
Docker-简历构建器
Docker-Open Resume
Docker-Reactive Resume
Docker-照片备份
Docker-Immich
Docker-vlmcsd(KMS)
Docker-Papermerge(数字档案文件管理系统)
Docker-SearXNG(搜索引擎)
Docker-Snipe-IT(资产管理)
Docker-Moments(极简朋友圈)
Docker-neko(浏览器)
Docker-AsPoem(诗词网站)
Docker-CMS(内容管理系统)
Docker-Ikaros(个人内容管家)
Docker-JPress
Docker-OneKVM(类向日葵控控)
Docker-OS(系统)
Docker-DSM(群晖)
Docker-OSX(MacOS)
Docker-Puter(云端系统)
Docker-GodoOS(内网办公操作系统)
Docker-Nextcloud
Docker-KodCloud(可道云)
Docker-MacOS
Docker-Windows
Docker-Ferry(工单系统)
Docker-HivisionIDPhotos(AI证件照)
Docker-IPTVnator(IPTV播放器)
Docker-SQL工具
Docker-SQLynx
Docker-STUN/TURN(Coturn)
Docker-gocron(定时任务管理系统)
Docker-paopao-ce(微社区)
Docker-JSON Hero(JSON浏览器)
Docker-n8n(工作流自动化)
Docker-Aria2
Docker-NTP(时间服务器)
Docker-EasyTier(异地组网)
Linux-EasyTier
EasyTier-配置文件
Docker-Domain Admin(域管理员)
Docker-WPS
卷的使用
备份与还原
各种开源项目(未测试)
限制资源
开放端口调整
更换 Docker 源
镜像转存DockerHub
DockerHub 代理加速(Cloudflare Worker)
Docker 代理加速(Cloudflare Worker)
代理加速
⭐CF-Workers-docker(DockerHub 加速)
docker run 转 docker-compose
Docker 解释
Dockerfile(自建镜像)
使用第三方构建
多阶段构建(缩小体积)
Docker的备份服务器
Kasm(Web服务)
Docker-备份与还原
Docker-volume(卷)
Docker-network(网络)
Linux 安装 Docker
Windows 安装 Docker
Win7 安装 Docker
游戏服务器搭建
Docker-Valheim(英灵神殿)
Docker-jsnes(在线NES)
Docker-7DaysToDie(七日杀)
7DaysToDie-配置文件
Docker-Conan Exiles(流放者柯南)
Docker-noname(无名杀)
Docker-Epic游戏商城每周免费游戏
Docker-Terraria(泰拉瑞亚)
泰拉瑞亚-服务器
Terrari-存档同步
Docker-Mindustry(像素工厂)
Docker-Habitica(习惯养成RPG)
Docker-RetroArch(在线模拟器)
Docker-vue-idle-game(轮回勇士传说)
Docker-Phira(Phigros 二创版)
Docker-Pterodactyl(翼龙面板⭐)
Pterodactyl-自建预设(游戏部署脚本)
Docker-GamePanelX-V3(游戏面板)
Docker-MCSManager(游戏面板⭐)
Docker-Easy-WI(游戏面板)
Docker-常见问题处理
Podman(Docker替代品)
Docker-Linux Command(Linux命令搜索引擎)
Docker-修改存储位置
Dockerc(编译为独立二进制文件)
slim(镜像瘦身)
Docker-API(远程连接)
Docker-cloudbak(云朵备份)
本文档使用 MrDoc 发布
-
+
首页
Docker-Nginx UI
[Nginx UI](https://nginxui.com/zh_CN/),Nginx 的另一个 WebUI **相关链接:** --- - 官网:https://nginxui.com/zh_CN/ - Doc:https://nginxui.com/zh_CN/guide/about.html - GitHub:https://github.com/0xJacky/nginx-ui - DockerHub:https://hub.docker.com/r/uozi/nginx-ui - Cloudflare网络端口:https://developers.cloudflare.com/fundamentals/reference/network-ports/ # 部署 ## ⭐docker-compose ```bash mkdir -p {nginx,nginx-ui,www,log} # 创建所需文件夹 nano docker-compose.yml docker-compose up -d # 解决 管理Stream 报错 mkdir -p nginx/{streams-enabled,streams-available} # 创建所需文件夹(需要部署后创建) ``` `docker-compose.yml` ```yaml version: '3' services: nginx-ui: image: uozi/nginx-ui:latest # 使用自定义的nginx-ui镜像 # container_name: nginx-ui # 容器名称 ports: # 如果加入了host网络,这部分就不需要了 - 8080:80 # 默认Nginx http端口(推荐改成内外一致,所见即所的) - 8443:8443 # 默认Nginx https端口(推荐改成内外一致,所见即所的) - 9000:9000 # Nginx UI 后台管理端口(默认80端口也可以进,但添加站点后需要自行添加该端口映射否则会无法访问) # - 9180:9180 # HTTP Challenge 监听端口 volumes: - ./nginx:/etc/nginx # 将nginx配置文件挂载到容器中 - ./nginx-ui:/etc/nginx-ui # 将nginx-ui配置文件挂载到容器中 - ./www:/var/www # 将网站目录挂载到容器中 - ./log:/var/log/nginx # 将nginx日志目录挂载到容器中(解决容器log报错) environment: - TZ=Asia/Shanghai # 设置时区 restart: always # 总是重新启动容器 stdin_open: true # 允许标准输入 # tty: true # 分配伪终端 # depends_on: # 依赖的服务(确保相关依赖运行中再启动服务) # - php # 若是需要php启用该项确保先启动好 # networks: # 默认加入,无需额外配置 # - nginxui_default # 将容器加入名为 nginxui 的网络 # php: # PHP 环境(nginx-ui 内部安装 php环境 会出现 php-fpm 没生成 sock) # image: php:7.4-fpm # 使用自定义的nginx-ui镜像 # #container_name: php # 容器名称 # volumes: # - ./www:/var/www # 将网站目录挂载到容器中(网站外部路径和容器内路径都要和nginx一致) # restart: always # 总是重新启动容器 # networks: # nginxui_default: # 网络名称,有则加入,无则创建后加入(按照下方配置进行创建) # driver: bridge # 网络类型 ``` ## [Docker run](https://nginxui.com/zh_CN/guide/getting-started.html#%E4%BD%BF%E7%94%A8-docker) ```bash docker run -dit --name=nginx-ui -p 8080:80 -p 8443:443 -p 9000:9000 -v $PWD/nginx:/etc/nginx -v $PWD/nginx-ui:/etc/nginx-ui -v $PWD/www:/var/www -v $PWD/log:/var/log/nginx -e TZ=Asia/Shanghai --restart=always uozi/nginx-ui:latest ``` ## [Linux 部署](https://nginxui.com/zh_CN/guide/install-script-linux.html) 不推荐,docker容器直连不方便 ```bash apt install nginx # 安装Nginx(Linux部署需要单独安装) # 脚本快速使用 bash <(curl -L -s https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install -r https://mirror.ghproxy.com/ # 如果端口冲突(默认监听端口:9000,HTTP Challenge 端口:9180) nano /usr/local/etc/nginx-ui/app.ini # 修改配置文件 systemctl restart nginx-ui # 重启 Nginx UI 服务(start/stop/restart/status) # 解决 管理Stream 报错 mkdir /etc/nginx/{streams-available,streams-enabled} # 创建所需文件夹(需要部署后创建) # 卸载 bash <(curl -L -s https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) remove ``` 更多 [配置参考](https://nginxui.com/zh_CN/guide/install-script-linux.html) # 使用 部署后访问 `http://{域名:端口(http)|NginxUI后台端口}/#/install` 进行安装配置 默认http就可进入NginxUI后台,如果进不去可以使用NginxUI后台独立端口 如果http配置了站点,默认可进NginxUI后台的可能会失效,可以单独配置一下来保留这个功能 ## 获取证书_手动挂载 挂载到容器内,然后引用文件即可 如存放在 `.../nginx-ui/key` 手动挂载 `/etc/nginx-ui/key/{证书/密钥}` ## ⭐获取证书_运营商方式 这里就拿我最常用的 CloudFlare 家的举例,[更多DNS参数说明](https://go-acme.github.io/lego/dns/) 1. 添加DNS凭证 别名的照抄上方的即可  2. 添加证书  ## 获取证书_Let's Encrypt 要想使用该功能,[`必须要有80端口`](https://letsencrypt.org/zh-cn/docs/challenge-types/#http-01-%E9%AA%8C%E8%AF%81)才可用该方式,80端口无法开放的采用 [获取证书_运营商方式](#获取证书_运营商方式) 还要开放 HTTP Challenge 对应端口(默认9180,`内外要一致!`),来进行辅助验证 创建站点时勾选 `用 Let's Encrypt 对网站进行加密` 就可以获取了 确保配置中要有下面这个(默认勾选会生成),验证链接重定向到 HTTP Challenge,不然无法验证,推荐每个 Server 下都要添加 ```bash server { # ......其他配置...... location /.well-known/acme-challenge { proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr:$remote_port; proxy_pass http://127.0.0.1:9180; } } ``` ## 反向代理其它容器 主要解决两个不在一个网络下的情况,思路是把 `需要反向代理的容器全部加入到 nginx 所在的网络` 然后通过 `容器名称` 进行调用即可(注意,调用的端口为容器内部端口!) ```bash # 群晖中Web Docker的网络管理中可以直接操作 docker network connect {要加入的网络} {加入该网络的容器名称} # 加入网络 docker network disconnect {所在的网络} {断开该网络的容器名称} # 断开网络 # docker run 部署时加入 --network=nginxui_default # 加入指定网络 # docker-compose 下加入 {容器名称}: # ......省略...... networks: - default # 默认的网络(也可仅加入nginx网络) - nginxui_default # 连接网络名称(也可仅把需要反向代理的额外加入nginx) # 加入nginx容器所在网络(否则无法使用nginx代理) networks: # 该项和 services 同级(顶格) nginxui_default: # 连接网络名称 external: true # 加入网络 name: nginxui_default # 网络的名称 ``` ### 示例 同端口搭配指定二级域名指定服务,配合 CloudFlare 任意域名指向服务器非常好用(无需挨个配置二级域名)  ```bash # 定义变量 $connection_upgrade,根据请求头中的 Upgrade 字段决定是否升级连接 map $http_upgrade $connection_upgrade { default upgrade; # 如果请求不包含 Upgrade 头,则升级连接 '' close; # 如果请求包含空的 Upgrade 头,则关闭连接 } # 通用配置(支持子路径的) server { listen 8443 ssl; # 监听端口 # listen [::]:8443 ssl; # IPv6没有,直接禁用 server_name 918178.xyz; # 监听域名,多个域名用空格分隔 # SSL 配置 ssl_certificate /etc/nginx/ssl/*.918178.xyz_918178.xyz/fullchain.cer; # SSL 证书文件 ssl_certificate_key /etc/nginx/ssl/*.918178.xyz_918178.xyz/private.key; # SSL 证书密钥文件 error_page 497 =307 https://$host:$server_port$request_uri; # http自动转https(=307 不可写成 = 307) proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定支持的 SSL/TLS 协议版本 # # Let's Encrypt 对网站进行加密使用 # location /.well-known/acme-challenge { # # 将请求代理到指定的地址 # proxy_set_header Host $host; # proxy_set_header X-Real_IP $remote_addr; # proxy_set_header X-Forwarded-For $remote_addr:$remote_port; # proxy_pass http://127.0.0.1:9180; # } # NginxUI Nginx代理 location ~* /nginxui { # 正则匹配,~* 表示区分大小写 proxy_pass http://127.0.0.1:9000; # 反向代理,因为使用正则,结尾无法加/ rewrite ^/(?i)nginxui(/.*)$ $1 break; # 反向代理结尾没有/,会把子路径带入,重写URL去除子路径 # (?!) 表示不区分大小写 } # Synology 群晖 location ~* /Synology { # 正则匹配,~* 表示区分大小写 proxy_pass https://192.168.100.233:2334; # 反向代理,因为使用正则,结尾无法加/ rewrite ^/(?i)Synology(/.*)$ $1 break; # 反向代理结尾没有/,会把子路径带入,重写URL去除子路径 # (?!) 表示不区分大小写 } # Tasmota 塔斯莫塔 location ~* /Tasmota { # 正则匹配,~* 表示区分大小写 proxy_connect_timeout 60; # 设置连接超时时间 proxy_read_timeout 60; # 设置读取超时时间 proxy_send_timeout 60; # 设置发送超时时间 proxy_intercept_errors off; # 关闭错误拦截 proxy_http_version 1.1; # 设置 HTTP 版本 proxy_set_header Host $http_host; # 客户端请求中的原始 Host 头的值(Tasmota必须如此) proxy_set_header X-Real-IP $remote_addr; # 客户端的真实 IP 地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 客户端的真实 IP 地址 proxy_set_header X-Forwarded-Proto $scheme; # 客户端请求的协议 proxy_pass http://192.168.100.15; # 反向代理,因为使用正则,结尾无法加/ rewrite ^/(?i)Tasmota(/.*)$ $1 break; # 反向代理结尾没有/,会把子路径带入,重写URL去除子路径 } # OpenVPN(用户认证页面加载后再要求验证) location /openvpn/ { # 设置用户认证 auth_basic "使用前请登录"; # 提示 auth_basic_user_file /etc/nginx/.passwd; # ⭐存放密码位置 proxy_http_version 1.1; # 设置代理服务器与后端服务器之间使用的 HTTP 协议版本为 1.1 proxy_pass http://openvpn-app-1:8080; # ⭐连接的内部服务,可以直接写容器 proxy_pass_header Server; # 设置要传递给后端服务器的请求头字段 proxy_set_header Connection ""; # 设置传递给后端服务器的请求头中的 Connection 字段为空,保持长连接 proxy_set_header Host $http_host; # 设置传递给后端服务器的请求头中的 Host 字段为客户端请求的主机头 proxy_set_header X-Forwarded-Proto $scheme; # 设置传递给后端服务器的请求头中的 X-Forwarded-Proto 字段,表示客户端连接时使用的协议 proxy_set_header X-Real-IP $remote_addr; # 设置传递给后端服务器的请求头中的 X-Real-IP 字段,表示客户端的真实 IP 地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置传递给后端服务器的请求头中的 X-Forwarded-For 字段,表示客户端的原始 IP 地址 proxy_buffering off; # 关闭代理缓冲,确保及时传递后端服务器的数据给客户端 proxy_cache off; # 禁用代理缓存,确保每次请求都直接从后端服务器获取最新的数据 send_timeout 600; # 设置向客户端发送响应的超时时间为 600 秒 proxy_connect_timeout 600; # 设置与后端服务器建立连接的超时时间为 600 秒 proxy_send_timeout 600; # 设置向后端服务器发送请求的超时时间为 600 秒 proxy_read_timeout 600; # 设置从后端服务器读取响应的超时时间为 600 秒 rewrite ^/(?i)openvpn(/.*)$ $1 break; # 反向代理结尾没有/,会把子路径带入,重写URL去除子路径 # (?!) 表示不区分大小写 } # zwzw 下载站 location /zwzw/ { root /var/www/; # 定义根目录 # alias /var/www/zwzw/; # 定义别名(与root二选一) autoindex on; # 自动索引功能(显示当前目录下文件) autoindex_exact_size off; # 显示文件精确大小(bytes),off只显示大概大小(kb、mb、gb) autoindex_localtime on; # 显示本机时间,off GMT(格林威治)时间 charset utf8; # 字符集设置为UTF-8,解决中文名称乱码 # limit_rate 2048k; # 限速(默认不限速) } # UrlShorter 短链(PHP) location /UrlShorter/ { index index.php; # 设置主文件(默认的没有php) root /var/www/; # 设置主目录 } # PHP 文件处理(该 server 块中所有PHP文件都将被此处理) location ~ \.php$ { root /var/www/; # 设置主目录,和常规调用的一致 fastcgi_pass php:9000; # 设置 PHP-FPM 监听地址(容器名称:端口) fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置 SCRIPT_FILENAME 变量 include fastcgi_params; # 引入 FastCGI 参数配置文件 } # 导航页 location / { rewrite ^(.*)$ https://blynk.space:8443/ permanent; # 永久重定向301,会显示实际地址 # rewrite ^(.*)$ https://blynk.space:8443/ redirect; # 临时重定向302,会显示实际地址 # proxy_pass https://blynk.space:8443/; # 将请求代理到指定的地址(链接最后带/会丢弃匹配头) # 这种方式可以会出现设备刚开机运行时无法访问外部请求地址的从而导致启动失败 } } # QD 自动签到(必须要主路径,子路径功能有问题) server { listen 8443 ssl; server_name qd.918178.xyz; # 监听域名 ssl_certificate /etc/nginx/ssl/*.918178.xyz_918178.xyz/fullchain.cer; ssl_certificate_key /etc/nginx/ssl/*.918178.xyz_918178.xyz/private.key; error_page 497 =307 https://$host:$server_port$request_uri; # http自动转https # QD 必须从根/开始 location / { proxy_pass http://qd_qd; } } # MrDoc(必须要主路径,子路径功能有问题) server { listen 8443 ssl; server_name mrdoc.918178.xyz; # 监听域名 ssl_certificate /etc/nginx/ssl/*.918178.xyz_918178.xyz/fullchain.cer; ssl_certificate_key /etc/nginx/ssl/*.918178.xyz_918178.xyz/private.key; error_page 497 =307 https://$host:$server_port$request_uri; # http自动转https # MrDoc 必须从根/开始,不可从子路径开始,JS中有个/get_pro_doc_tree/请求会忽略子路径从根路径开始 location / { proxy_connect_timeout 60; proxy_read_timeout 60; proxy_send_timeout 60; proxy_intercept_errors off; proxy_http_version 1.1; proxy_set_header Host $http_host; # 客户端请求中的原始 Host 头的值(MrDoc必须如此) proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://MrDoc:10086/; # 调用容器内服务,故端口也要是容器内对应端口 } } # Matomo 网站统计 server { listen 8443 ssl; server_name matomo.918178.xyz; ssl_certificate /etc/nginx/ssl/*.918178.xyz_918178.xyz/fullchain.cer; ssl_certificate_key /etc/nginx/ssl/*.918178.xyz_918178.xyz/private.key; error_page 497 =307 https://$host:$server_port$request_uri; # Matomo 必须从根/开始(子路径有些图片无法加载) location / { proxy_connect_timeout 60; proxy_read_timeout 60; proxy_send_timeout 60; proxy_intercept_errors off; proxy_http_version 1.1; proxy_set_header Host $http_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-Proto $scheme; proxy_pass http://matomo-app-1; } } # # OpenVPN(页面加载前进行验证) # server { # listen 8443 ssl; # ⭐反向代理端口,要和容器一致 # server_name openvpn.918178.xyz; # ⭐域名 # # 设置用户认证 # auth_basic "使用前请登录"; # 提示 # auth_basic_user_file /etc/nginx/.passwd; # ⭐存放密码位置 # # SSL/TLS证书和私钥路径 # ssl_certificate /etc/nginx/ssl/*.918178.xyz_918178.xyz/fullchain.cer; # ssl_certificate_key /etc/nginx/ssl/*.918178.xyz_918178.xyz/private.key; # error_page 497 =307 https://$host:$server_port$request_uri; # http自动跳转https # # 遇到 HTTP 请求发到 HTTPS 时会产生的内部错误代码 497 # # 返回307临时重定向(客户端应保持请求方法不变向新的地址发出请求) # # 设置处理请求的 URI 路径为根路径 # location / { # proxy_http_version 1.1; # 设置代理服务器与后端服务器之间使用的 HTTP 协议版本为 1.1 # proxy_pass http://openvpn-app-1:8080; # ⭐连接的内部服务,可以直接写容器 # proxy_pass_header Server; # 设置要传递给后端服务器的请求头字段 # proxy_set_header Connection ""; # 设置传递给后端服务器的请求头中的 Connection 字段为空,保持长连接 # proxy_set_header Host $http_host; # 设置传递给后端服务器的请求头中的 Host 字段为客户端请求的主机头 # proxy_set_header X-Forwarded-Proto $scheme; # 设置传递给后端服务器的请求头中的 X-Forwarded-Proto 字段,表示客户端连接时使用的协议 # proxy_set_header X-Real-IP $remote_addr; # 设置传递给后端服务器的请求头中的 X-Real-IP 字段,表示客户端的真实 IP 地址 # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置传递给后端服务器的请求头中的 X-Forwarded-For 字段,表示客户端的原始 IP 地址 # proxy_buffering off; # 关闭代理缓冲,确保及时传递后端服务器的数据给客户端 # proxy_cache off; # 禁用代理缓存,确保每次请求都直接从后端服务器获取最新的数据 # send_timeout 600; # 设置向客户端发送响应的超时时间为 600 秒 # proxy_connect_timeout 600; # 设置与后端服务器建立连接的超时时间为 600 秒 # proxy_send_timeout 600; # 设置向后端服务器发送请求的超时时间为 600 秒 # proxy_read_timeout 600; # 设置从后端服务器读取响应的超时时间为 600 秒 # } # } ``` ## 常见问题 ```bash # 站点列表中空的,添加站点无法正常添加 # 可尝试更换其它版本如 uozi/nginx-ui:v2.0.0-beta.35 # 也可在该文件夹下创建一个空文件(无后缀),在站点列表下就可以编辑了 .../nginx/sites-available/<配置名称> ``` ## Web终端使用(容器部署) 下列方案任选 - 直接修改 [Web 终端的启动命令](https://nginxui.com/zh_CN/guide/config-server.html#startcmd) ``` nano .../nginx-ui/app.ini StartCmd=bash # login 改成 bash ``` - 修改 sshd 账户密码 ```bash # 先进入容器设置账户密码 passwd sshd # 设置密码,然后使用该账户进行登录 ```
造物者W
2025年1月15日 13:04
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码