Настройте Access-Control-Allow-Origin для monit

Я пытаюсь получить данные json из monit и отобразить их на странице состояния для управления, чтобы увидеть текущее состояние нескольких процессов. Эта информация будет отображаться в Confluence, работающем на одном компьютере, но, поскольку Confluence (apache) и monit работают на разных портах, это считается междоменным. Я знаю, что могу написать процесс на стороне сервера для обслуживания этих данных, но это кажется излишним и на самом деле займет больше времени, чем установка monit в первую очередь :) Самое простое решение - настроить заголовки monit (Access-Control- Allow-Origin), чтобы разрешить другой сервер. Кто-нибудь знает как это сделать? Я подозреваю, что есть способ, так как M/Monit столкнулся бы с той же проблемой. Я пробовал несколько слепых попыток в строках «httpd… allow», но он жалуется на синтаксис с x.x.x.x:port или с использованием ключевого слова «port» в этом месте.


person RandyA    schedule 27.05.2015    source источник


Ответы (2)


хорошо... собираюсь ответить на свой вопрос (вроде). Во-первых, я думаю, что, возможно, неправильно задал вопрос. Я не занимаюсь множеством междоменных проблем. Извини за это.

Но вот что я сделал, чтобы получить информацию о мониторинге с других серверов: довольно просто, используя прокси в apache, где находится основной сервер:

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

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

Я сделал это для каждого из серверов и проверил, могу ли я получить доступ либо к веб-интерфейсу monit, либо к подстраницам _status?format=json. Теперь я могу вызывать их с помощью ajax на нашей главной веб-странице.

Это также имеет то преимущество, что я могу заблокировать контроль доступа только к основному серверу, но отображать информацию на более заметной странице. :)

person RandyA    schedule 27.05.2015

Я не думаю, что вам понадобится прокси-сервер, чтобы просто отображать информацию о monit api или http. Это зависит от того, как у вас настроена сеть и DNS. Если вы хотите использовать только локальный хост, это может быть необходимо. Но у monit есть возможность использовать глобальный доступ к IP-адресу хоста, используя директивы allow в своем собственном конфигурационном файле rc.

person Jason Graham    schedule 19.09.2017