如何让 nginx 在 VirtualHost 网站打开一分钟或更长时间(由于网站代码不好)时显示页面“网站关闭”,并在其发生 ddos(服务器平均负载>100)或 Apache 关闭或出现其他情况时显示页面“Apache 关闭”?
Apache(2.2 FreeBSD)在 127.0.0.1 上运行,并具有大量 VirtualHosts。
目前我有这样的 nginx.conf:
server {
listen 80;
server_name localhost;
error_page 404 /404.html;
error_page 500 502 /apache_down.html;
error_page 503 504 /site_down.html;
location / {
proxy_pass http://127.0.0.1:88;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 5;
proxy_read_timeout 6;
proxy_send_timeout 6;
proxy_intercept_errors off;
}
location = /404.html {
root /usr/local/www/apache22/data;
}
location = /apache_down.html {
root /usr/local/www/apache22/data;
}
location = /site_down.html {
root /usr/local/www/apache22/data;
}
主要问题是,当平均负载非常高时,nginx 返回的是“Site down”而不是“Apache down”。尝试使用“try_files”,但没有成功。