在AWS Ubuntu 11.10 EC2上的低stream量Nginx,当monittesting时返回499,为什么?

我有一个非常低的stream量Nginx框,作为外部服务的反向代理。 如果它崩溃,我有Monit的框重新启动nginx 。 不用说, nginx每天至less在这台机器上停一次, monit不得不重启它。

这是我的monitconfiguration:

 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上的网站configuration:

 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不发送“主机:”标题字段。 尝试解决这个问题,通过设置一个monit来监视那个没有被代理的位置:

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

(我通过searchnginx monit 499find了这个答案,这是第一个结果。)