Komari 探针 Nginx 反向代理配置教程(宝塔面板 + SSL 部署)

Komari 探针是一款轻量高效的自托管服务器监控工具,资源占用低、支持历史数据查看与 Web 终端,深受个人用户和 VPS 站长欢迎。本文基于Komari 官方 Nginx 反代文档,针对宝塔面板用户提供经过优化的 Nginx 反向代理 + SSL 配置方案,包含 WebSocket 支持、性能优化和常见问题排查。

Komari 探针核心优势

  • 轻量高效:低资源占用,适合各种规模的服务器。
  • 自托管:完全掌控数据隐私,部署简单。
  • Web 界面:直观的监控仪表盘,操作友好。
  • 历史数据与备份:默认支持 30 天历史记录,一键备份恢复。

1. 前置条件

  • Komari 已正常运行(默认端口 25774,可自行修改)。
  • 域名已解析到服务器。
  • 宝塔面板已安装 Nginx(推荐 1.28+ 版本,支持 HTTP/2 + QUIC)。

2. 官方推荐基础 Nginx 配置(通用版)

以下配置来自 Komari 官方文档,已补充关键参数,适合大多数场景:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:25774;

        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 $scheme;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        # 关键优化:关闭缓冲,提升实时监控与 WebSocket 性能
        proxy_buffering off;

        # 支持较大请求(日志、配置同步等)
        client_max_body_size 50M;
    }
}

关键参数说明

  • Upgrade + Connection "Upgrade" + proxy_http_version 1.1:必须保留,用于 Komari Web 终端和实时数据推送。
  • X-Forwarded-Proto:让后端正确识别 HTTPS。
  • proxy_buffering off:关闭缓冲,监控场景推荐。
  • client_max_body_size 50M:避免大文件上传失败。

配置完成后执行重载:

nginx -s reload

3. 宝塔面板完整 Nginx 配置(推荐生产环境使用)

整合了 SSL、HTTP/2、QUIC(HTTP/3)、安全规则和性能优化的完整配置。直接在宝塔「网站设置 → Nginx 配置」中替换使用。

server {
    listen 80;
    listen 443 ssl http2;
    listen 443 quic;

    server_name your-domain.com;

    root /www/wwwroot/your-domain.com;

    # 宝塔证书验证目录(保留)
    include /www/server/panel/vhost/nginx/well-known/your-domain.com.conf;

    # SSL 证书(宝塔自动管理路径)
    ssl_certificate    /www/server/panel/vhost/cert/your-domain.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/your-domain.com/privkey.pem;

    # 安全优化
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    add_header Strict-Transport-Security "max-age=31536000";

    # HTTP 强制跳转 HTTPS(兼容证书申请)
    set $is_redirect 1;
    if ($server_port != 443) {
        set $is_redirect 2;
    }
    if ($uri ~ /\.well-known/) {
        set $is_redirect 1;
    }
    if ($is_redirect != 1) {
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    error_page 404 /404.html;

    # 禁止访问敏感文件
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn) {
        return 404;
    }

    location ~ /\.well-known {
        allow all;
    }

    # ====================== Komari 主反向代理 ======================
    location / {
        proxy_pass http://127.0.0.1:25774;

        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 $scheme;
        proxy_set_header REMOTE-HOST $remote_addr;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        proxy_buffering off;
        client_max_body_size 50M;
    }

    access_log  /www/wwwlogs/your-domain.com.log;
    error_log  /www/wwwlogs/your-domain.com.error.log;
}

4. 宝塔面板配置步骤

  1. 在宝塔创建网站(域名填写正确,根目录随意)。
  2. 进入「网站设置 → SSL」申请并部署证书。
  3. 进入「网站设置 → Nginx 配置」,粘贴上方完整配置(或仅替换 location / 部分)。
  4. 点击「保存」→「重载」Nginx。
  5. 访问 https://your-domain.com 测试。

5. 常见问题排查(Komari Nginx 配置)

WebSocket 连接失败 / 终端无法使用

检查配置中 UpgradeConnection "Upgrade"proxy_http_version 1.1 是否正确。Komari 后台「设置 → 站点」可关闭 WebSocket Origin 校验或添加允许域名。

502 Bad Gateway 或无法访问

  • 确认 Komari 服务正在运行(systemctl status komari 或 Docker 容器状态)。
  • 检查 proxy_pass 端口是否与实际一致。
  • 重载 Nginx 后使用 curl -I http://127.0.0.1:25774 测试后端。

真实客户端 IP 显示为 127.0.0.1

确保已添加 X-Real-IPX-Forwarded-For。使用 Cloudflare 时需在面板或配置中恢复真实 IP。

SSL 证书申请或续期失败

确认 .well-known 目录配置在跳转规则之前,且权限正确。宝塔用户优先使用面板一键申请。

总结

通过以上优化配置,您可以获得更好的 WebSocket 支持、实时监控性能和标准的安全设置。配置简单,适合宝塔面板用户快速部署 Komari 探针。

更多最新内容请参考:Komari 官方 Nginx 反代文档

如果配置过程中遇到问题,欢迎在评论区留言讨论!

赞(2) 打赏
未经允许不得转载:Kelro Blog » Komari 探针 Nginx 反向代理配置教程(宝塔面板 + SSL 部署)

评论 抢沙发