Last updated on 10 Eylül 2020
Şu aşamada çalışan basit bir HTTP sunucumuz var, ancak biri var olmayan bir sayfaya gittiğinde veya başka bir tür hata meydana geldiğinde işe yarar, yararlı bir hata sayfası dönmüyor. Bu yazımızda, sunucumuzun HTTP hata yanıtlarını nasıl özelleştirebileceğimize bakacağız.
Hemen kaynak sayfalarımızı not düşelim,
Mevcut Hata Sayfaları
HTTP sunucularında göreceğimiz en yaygın hata, birisi var olmayan bir URL’ye erişmeye çalıştığında 404 hatası olacaktır. Curl kullanarak veya sahte bir URL’ye giderek mevcut 404 hata sayfamızı görebiliriz:
curl localhost/fake.html 404 Not Found nginx/1.12.2
Bu, NGINX’in bizim için oluşturduğu hata sayfasıdır, ancak neredeyse hiç yararlı bilgi vermez ve muhtemelen farklı bir hata sayfası oluşturmak isteyeceğimiz bir durum söz konusu. Neyse ki, bunu error_page yönergesi ile yapabiliriz. Sunucumuzun /usr/share/nginx/html’ye ekleyeceğimiz bir 404.html dosyası kullanması gerektiğini belirtelim:
/etc/nginx/conf.d/default.conf
server { listen 80 default_server; server_name _; root /usr/share/nginx/html; error_page 404 /404.html; }
Custom 404 sayfamızı ekleyelim ve yapılandırmamızı yeniden yükleyelim:
echo "<h1> 404 Page Not Found </h1>" > /usr/share/nginx/html/404.html [root]$ systemctl reload nginx [root]$ curl localhost/fake.html <h1> 404 Page Not Found </h1>
Artık custom 404 sayfalarımızı görebiliyoruz.
50x Hata Sayfalarını Ekleme
Diğer bir yaygın hata türü, dahili bir sunucu hatasıdır (500’ün üzerindeki herhangi bir yanıt kodu). Birden fazla yanıt kodu kullanan başka bir error_page yönergesi ekleyeceğiz:
/etc/nginx/conf.d/default.conf
server { listen 80 default_server; server_name _; root /usr/share/nginx/html; error_page 404 /404.html; error_page 500 501 502 503 504 /50x.html; }
50x.html dosyası zaten mevcut ve biz sadece onun işlenmesine neden olması gereken durum kodlarının listesini belirtmemiz gerekiyordu.



Başka bir yazımızda görüşmek üzere,