我正在一个新网站上设置 monit,在回答这个问题时我将它称为 mywebsite.com。我已经设置了访问 monit 的 Web 界面页面的配置,但我无法连接到它。我有一个使用 iptables 运行的基本防火墙,我想我已经为 monit 打了一个洞,但我无法连接到 monit 的 Web 界面,我不知道为什么。
我还没有设置任何要监控的东西:我的监控配置如下:
## 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
我已经按照这些规则重新启动了 monit。
我在我的 iptables 配置中为 monit 制定了一条规则,如下所示:
#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT
然后我将这些规则导入到/sbin/iptables-restore
。执行以下命令后,我可以看到 monit 条目sudo /sbin/iptables -L
:
...
ACCEPT tcp -- anywhere anywhere tcp dpt:2812
...
但是,当我进入时,http://mywebsite.com:2812
我进入了Error code: ERR_EMPTY_RESPONSE
浏览器。
有人有什么想法吗?我甚至不知道问题是否与 iptables 有关。提前致谢,Max
编辑:我尝试更改 monit 配置中的“localhost”行,如下所示:
set httpd port 2812 and
use address mywebsite.com
allow mywebsite.com
allow admin:password
但并没有什么区别。
答案1
要从外部网络访问 Monit,只需设置:
无需身份验证,即可从任何地方访问:
set httpd port 2812
对于从任何地方进行身份验证的访问:
set httpd port 2812
allow <auth_user>:<auth_password>
在你的情况下,删除and
行末的set httpd port 2812 and
笔记:如果您正在测试将密码设置为“password”的设置,您将收到此错误:
Error: syntax error 'password'