monit:无法连接到http接口

Max*_*ams 8 linux http iptables monit

我正在一个新站点上设置 monit,在此问题中我将其称为 mywebsite.com。我已经设置了访问 monit 的 Web 界面页面的配置,但我无法连接到它。我有一个运行 iptables 的基本防火墙,我想我为 monit 开了一个洞,但我无法连接到 monit 的 Web 界面,我不知道为什么。

我还没有设置任何要监控的东西:我的 monit 配置如下所示:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password
Run Code Online (Sandbox Code Playgroud)

我已经用这些规则重新启动了 monit。

我在我的 iptables 配置中为 monit 制定了一条规则,如下所示:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

然后我将这些规则导入到/sbin/iptables-restore. 当我这样做时,我可以看到 monit 条目sudo /sbin/iptables -L

...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2812 
...
Run Code Online (Sandbox Code Playgroud)

但是,当我去http://mywebsite.com:2812我得到Error code: ERR_EMPTY_RESPONSE在浏览器中。

任何想法,任何人?我什至不知道问题是否与iptables有关。提前致谢,马克斯

编辑:我尝试更改 monit 配置中的 'localhost' 行,因此:

set httpd port 2812 and
  use address mywebsite.com  
  allow mywebsite.com      
  allow admin:password
Run Code Online (Sandbox Code Playgroud)

但它没有任何区别。

kri*_*sFR 15

要从外部网络访问 Monit,只需设置:

对于无身份验证和来自任何地方的访问:

set httpd port 2812
Run Code Online (Sandbox Code Playgroud)

通过身份验证从任何地方访问:

set httpd port 2812
   allow <auth_user>:<auth_password>
Run Code Online (Sandbox Code Playgroud)

在您的情况下,删除and行尾的set httpd port 2812 and

注意:如果您使用设置为“password”的密码测试设置,您将收到此错误:

Error: syntax error 'password'
Run Code Online (Sandbox Code Playgroud)