为monit配置Access-Control-Allow-Origin

时间:2015-05-27 16:21:50

标签: monit

我试图从monit获取json数据并将其显示在状态页面上以供管理,以查看少数进程的当前状态。此信息将显示在运行在同一台计算机上的Confluence中,但由于Confluence(apache)和monit在不同的端口上运行,因此它被视为跨域。 我知道我可以写一个服务器端进程来提供这些数据,但这似乎有点矫枉过正,实际上需要更长的时间才能设置monit :) 最简单的解决方案是配置monit的头(Access-Control-Allow-Origin)以允许其他服务器。有谁知道如何做到这一点?我怀疑M / Monit会遇到同样的问题。我已经尝试了一些盲目的尝试" httpd ...允许"但它抱怨x.x.x.x:port的语法或使用关键字" port"在那个位置。

2 个答案:

答案 0 :(得分:1)

好的......要回答我自己的问题(有点)。 首先,我想我可能错误地提出了这个问题。我没有处理很多跨域问题。对不起。

但是我这样做是为了从其他服务器获取monit信息:在主服务器所在的apache中使用代理非常简单:

ProxyPass /monit http://localhost:2812
ProxyPassReverse /monit http://mainserver/monit

ProxyPass /monit2 http://server2:2812
ProxyPassReverse /monit2 http://mainserver/monit2

我为每个服务器做了这个并测试了我可以访问monit web界面或_status?format = json子页面。我现在可以在主网页上使用ajax调用它们。

这样做的好处是我可以将monit访问控制锁定到主服务器,但在更明显的页面上显示信息。 :)

答案 1 :(得分:0)

我认为您不需要代理来显示monit的api或http信息。这取决于您如何配置网络和DNS。如果您只想使用localhost,那么这可能是必要的。但是,monit确实有一个工具可以使用自己的config rc文件中的allow指令来使用全局主机ip访问