Yanıtlar:
Sen kullanabilirsiniz errorfileyönergesi ve sonra özel bir .httpmetin dosyası. Yani mesela:
errorfile 503 /etc/haproxy/errors/503-mycustom.http
Dosyanın içeriği şöyle olur:
HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
Content-Type: text/html
<html>
<head>
<title>RARRR!!!!!</title>
</head>
<body style="font-family:Arial,Helvetica,sans-serif;">
<div style="margin: 0 auto; width: 960px;">
<h2 >RAWR RAWR RAWR</h2>
</div>
</body>
</html>
errorfileYönergesi de bir arka uca özel olabilir.
"Errorfile" ayarı, düğümler çevrimiçi olduğunda HAProxy tarafından gönderilen bir yanıtı değiştirmek için kullanılamaz. Bu ayar yalnızca tüm düğümler çevrimdışı olduğunda HAProxy'yi etkiler.
Bu anahtar kelimenin sunucu tarafından döndürülen hataları değil, HAProxy tarafından algılanan ve döndürülen hataları yeniden yazmak anlamına geldiğini anlamak önemlidir. Bu nedenle desteklenen hatalar listesi küçük bir kümeyle sınırlıdır.
Yapabileceğiniz kirli bir şey var. Bir hata sayfası oluşturabileceğiniz özel 502 hatasının döndürülmesine neden olacak 503 yanıtlarını engelleyebilirsiniz. Ancak, haproxy'nin 502 (geçersiz yanıt) döndürmesi için herhangi bir nedenin aynı şeyi döndüreceğini unutmayın.
Temelde "rfdeny ^ HTTP / 1.1 503" kadar basit bir şekilde "errorfile 502" ile birleştirilmiştir.
Web sitemizin eski bir sistemde çalışan bir kısmı var ve ben aşağıdakileri kullandım:
errorfile 502 /etc/haproxy/errors/502.http
acl is_internal_error status ge 500
rspideny . if is_internal_error
Umarım yardımcı olur (8 ay sonra bile olsa).
\r\n, HTTP protokolü belirtimlerine uymak için başlıklardaki satır kesmeleri için kullanılması gerektiğini unutmayın . Windows kutusundan yükleme yapıyorsanız,binaryWindows satır sonlarını\r\nunix stil satır sonlarına dönüştürmeyi atlamak için s / ftp dosya aktarımı için modu kullandığınızdan emin olun\n.