You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Monit的基础URL?解决Nginx代理后重定向路径异常问题

解决Monit代理后重定向丢失前缀的问题

核心原因

Ubuntu 22.04自带的Monit版本较新,默认不再自动识别代理前缀,导致操作后的302重定向未带上/monit基础路径;而Ubuntu 20.04的旧版本Monit可能隐式处理了该逻辑,因此仅部分服务器出现问题。

解决方案

1. 配置Monit指定基础URL前缀

编辑Monit主配置文件(通常为/etc/monit/monitrc或/etc/monit.conf),在set httpd块中添加prefix指令,强制Monit生成的所有URL带上代理路径前缀:

set httpd port 2812
  use address localhost
  allow localhost
  prefix /monit  # 显式声明基础URL前缀

修改后重启Monit服务:

systemctl restart monit

2. 完善Nginx代理配置

在Nginx的server块中,添加如下location配置,确保传递必要头信息并修正重定向:

location /monit/ {
    proxy_pass http://localhost:2812/;
    # 传递代理相关头信息
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Prefix /monit;
    # 强制修正Monit返回的不带前缀的重定向响应
    proxy_redirect http://localhost:2812/ /monit/;
}

修改后重启Nginx服务:

systemctl restart nginx

验证

点击Monit界面的「启用监控」/「禁用监控」按钮,此时重定向会正确指向/monit/nginx而非/nginx,操作完成后页面可正常返回Monit服务详情页。

内容的提问来源于stack exchange,提问作者BurninLeo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:15:43