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)