Назад | Перейти на главную страницу

Мониторинг проверки URL следования перенаправлениям

Я хочу использовать monit, чтобы следить за своим сайтом. Я хочу, чтобы он относился к сайту как к внешнему пользователю, поэтому я тестирую URL-адрес, но, похоже, он не следует перенаправлениям. Проверка содержимого выполняется в HTML-коде перенаправления.

#request works:
if failed url http://www.sharelatex.com/blog/posts/future.html content == "301"

#request fails
if failed url http://www.sharelatex.com/blog/posts/future.html content == "actual content"

Было бы здорово узнать, как заставить URL-адрес следовать 30X.

Хотя я не вижу опции в страница руководства monit Чтобы заставить его следовать перенаправлениям, я думаю, что путем явного тестирования элементов перенаправления. Сначала проверяя заголовки перенаправления, а затем содержимое целевой страницы, вы добиваетесь того же.

(Вот ответ, включая перенаправление с запроса на sharelatex)

HTTP/1.1 301 Moved Permanently       <---- response code here
Server: nginx/0.7.65
Date: Tue, 20 Mar 2012 22:04:48 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://www.sharelatex.com/blog/posts/future.html   <---- target location here

Я бы использовал что-то вроде следующего:

check host www.sharelatex.com with address www.sharelatex.com
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "301 Moved Permanently" 
    then alert
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "Location: https://www.sharelatex.com/blog/posts/future.html"
    then alert
IF FAILED URL https://www.sharelatex.com/blog/posts/future.html content == "ShareLaTeX"         
    then alert

Итак, разберем это ... Эти две строки проверяют, правильно ли перенаправляется страница HTTP: // и что она предоставляет правильную цель для перенаправления.

check host www.sharelatex.com with address www.sharelatex.com
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "301 Moved Permanently" then alert
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "Location: https://www.sharelatex.com/blog/posts/future.html" then alert  

Затем проверьте, что вы были перенаправлены в нужное место и на наличие некоторого контента ....

затем следующие строки, которые явно следуют за перенаправлением и проверяют содержимое страницы HTTPS на https://www.sharelatex.com/blog/posts/future.html

 IF FAILED URL https://www.sharelatex.com/blog/posts/future.html content == "ShareLaTeX" then alert   

Я предполагаю, что первые команды собираются сделать кучу (2x) запросов на страницу, поэтому, возможно, стоит их как-то объединить ...