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

Nginx с низким трафиком на AWS Ubuntu 11.10 EC2, при тестировании с помощью monit возвращает 499, почему?

У меня очень низкий трафик Nginx, который служит обратным прокси для внешней службы. У меня на коробке стоит Monit для перезапуска nginx если он выйдет из строя. Разумеется, nginx останавливается хотя бы раз в день на этой машине, и monit должен перезапустить его.

Вот мой monit конфигурация:

check process nginx with pidfile /var/run/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program  = "/etc/init.d/nginx stop"
    if cpu > 60% for 2 cycles then alert
    if cpu > 80% for 25 cycles then restart
    if totalmem > 400.0 MB for 5 cycles then restart
    if children > 250 then restart
    if loadavg(5min) greater than 10 for 8 cycles then stop
    if failed host 127.0.0.1 port 80 protocol http
       then restart
    if 3 restarts within 5 cycles then timeout

Вот конфигурация моего сайта на nginx:

server {
    listen       80;
    server_name  somedomainname.com;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location / {
        proxy_pass         https://somedomainname.com;
        proxy_redirect     off;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
}

Ваша проблема может быть связана с monit не отправляет поле заголовка "Хост:". Попробуйте решить эту проблему, настроив location для monit для отслеживания того, что не проксируется:

location = /test_target.html {
    root /var/www/public;
}

(Я нашел этот ответ, выполнив поиск Мониторинг nginx 499. Это был первый результат.)