chore: sync local updates

This commit is contained in:
2026-05-16 19:03:34 +08:00
parent 9c086c3301
commit 80cf54a201
89 changed files with 10622 additions and 2443 deletions

View File

@@ -0,0 +1,28 @@
# =============================================================================
# 萌芽监控 — 采集端 gRPCTCP 四层透传,与 Gitea SSH 反代同写法)
# =============================================================================
# 本文件只能被 nginx 主配置里**顶层**的 stream { } 引入,不可放进取 http { } 的 sites 目录。
#
# 在 /etc/nginx/nginx.conf 中与 http { } 平级增加(路径按你实际放置修改):
# stream {
# include /etc/nginx/stream-enabled/grpc.monitor.api.shumengya.top.conf;
# }
#
# 公网监听端口默认 9394与中心 GRPC_PORT 一致,采集端好记);若冲突可改为其它端口并放行防火墙。
# 上游:内网中心宿主机:9394或 frp/nps 在本机打开的穿透端口(如 127.0.0.1:7001
#
# 采集端(与当前仓库默认 insecure 明文 gRPC 一致):
# CENTRAL_GRPC=公网VPS_IP:9394
# 若用域名,须 DNS 指向该 VPSTCP 无 TLS安全依赖防火墙 / IP 白名单 / 仅穿透不暴露公网)。
# =============================================================================
upstream mengyamonitor_grpc_backend {
server 10.1.1.233:9394;
}
server {
listen 9394;
proxy_pass mengyamonitor_grpc_backend;
proxy_timeout 1h;
proxy_connect_timeout 10s;
}

View File

@@ -0,0 +1,75 @@
# 内网萌芽监控静态站示例6767公网 monitor.shumengya.top 反代到本机)。
# root 改为你的 Vite 构建产物目录npm run build 后的 dist 内容)。
server
{
listen 6767;
server_name 192.168.1.100_6767;
index index.html index.htm default.htm default.html;
root /shumengya/www/self-made/mengyamonitor-frontend;
include /www/server/panel/vhost/nginx/extension/192.168.1.100_6767/*.conf;
#CERT-APPLY-CHECK--START
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除并保持这段设置在优先级高的位置
include /www/server/panel/vhost/nginx/well-known/192.168.1.100_6767.conf;
#CERT-APPLY-CHECK--END
#SSL-START SSL相关配置请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/html_192.168.1.100_6767.conf;
#REWRITE-END
# SPA浏览器刷新 / 深度链接须回到 index.html勿删否则前端路由 404
location = /index.html {
add_header Cache-Control "no-cache";
}
location / {
try_files $uri $uri/ /index.html;
}
# 禁止访问的敏感文件
location ~* (\.user.ini|\.htaccess|\.htpasswd|\.env.*|\.project|\.bashrc|\.bash_profile|\.bash_logout|\.DS_Store|\.gitignore|\.gitattributes|LICENSE|README\.md|CLAUDE\.md|CHANGELOG\.md|CHANGELOG|CONTRIBUTING\.md|TODO\.md|FAQ\.md|composer\.json|composer\.lock|package(-lock)?\.json|yarn\.lock|pnpm-lock\.yaml|\.\w+~|\.swp|\.swo|\.bak(up)?|\.old|\.tmp|\.temp|\.log|\.sql(\.gz)?|docker-compose\.yml|docker\.env|Dockerfile|\.csproj|\.sln|Cargo\.toml|Cargo\.lock|go\.mod|go\.sum|phpunit\.xml|phpunit\.xml|pom\.xml|build\.gradl|pyproject\.toml|requirements\.txt|application(-\w+)?\.(ya?ml|properties))$
{
return 404;
}
# 禁止访问的敏感目录
location ~* /(\.git|\.svn|\.bzr|\.vscode|\.claude|\.idea|\.ssh|\.github|\.npm|\.yarn|\.pnpm|\.cache|\.husky|\.turbo|\.next|\.nuxt|node_modules|runtime)/ {
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
# 带 hash 的前端资源Vite /assets短缓存发版靠文件名变化
location ~* \.(js|mjs|css|woff2?|svg|ico)$
{
expires 12h;
add_header Cache-Control "public";
error_log /dev/null;
access_log /dev/null;
}
access_log /www/wwwlogs/192.168.1.100_6767.log;
error_log /www/wwwlogs/192.168.1.100_6767.error.log;
}

View File

@@ -0,0 +1,47 @@
# 萌芽监控 — 浏览器 / 前端对接 APIHTTPS
# 仅 REST + WebSocket → 9393。采集端 gRPC 为 **stream TCP 透传**,见 grpc.monitor.api.shumengya.top.conf并入 nginx 顶层 stream{})。
# 上游 IP 按实际修改(内网中心或可路由到的穿透内网地址)。
upstream mengyamonitor_http {
server 10.1.1.233:9393;
keepalive 32;
}
server {
listen 80;
listen [::]:80;
server_name monitor.api.shumengya.top;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name monitor.api.shumengya.top;
ssl_certificate /etc/letsencrypt/live/monitor.api.shumengya.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.api.shumengya.top/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://mengyamonitor_http;
proxy_http_version 1.1;
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-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}

View File

@@ -0,0 +1,42 @@
# 萌芽监控 — 前端 monitor.shumengya.topHTTPS
# 内网静态源:按需修改 proxy_pass
upstream mengyamonitor_frontend_upstream {
server 10.1.1.100:6767;
keepalive 16;
}
server {
listen 80;
listen [::]:80;
server_name monitor.shumengya.top;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name monitor.shumengya.top;
ssl_certificate /etc/letsencrypt/live/monitor.shumengya.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.shumengya.top/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://mengyamonitor_frontend_upstream;
proxy_http_version 1.1;
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-Proto https;
}
}