Привет.
Видел, на некоторых сайтах (вроде, CloudFlare) обработчиком ошибок (404, 503, etc) служит Varnish.
Вот мой конфиг Varnish:
spoilervcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "8080";
}
sub vcl_synth {
set resp.http.Content-Type = "text/html; charset=utf-8";
set resp.http.Retry-After = "5";
synthetic( {"<!DOCTYPE html>
<html>
<head>
<title>"} + resp.status + " " + resp.reason + {"</title>
</head>
<body>
<h1>Error "} + resp.status + " " + resp.reason + {"</h1>
<p>"} + resp.reason + {"</p>
<h3>Guru Meditation:</h3>
<p>XID: "} + req.xid + {"</p>
<hr>
<p>Varnish cache server</p>
</body>
</html>
"} );
return (deliver);
}
Конфиг nginx:
spoilerserver {
server_name cdn.site.me;
listen 443 ssl http2;
location = / {
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
}
server {
server_name cdn.site.me;
listen 8080;
root /var/www/html;
index index.lua;
location = / {
content_by_lua_file /var/www/html/index.luac;
lua_code_cache on;
}
}
И, собственно, когда я захожу, к примеру, на cdn.site.me/324, то 404 ошибку выдает сам nginx, а хотелось-бы, чтобы ошибку выдавал Varnish.