502 Bad Gateway NGINX Hatası Nasıl Düzeltilir? (7 Yöntem)
Yayınlanan: 2023-04-20Nginx, performansı, ölçeklenebilirliği ve esnekliği ile oldukça popüler olan, iyi bilinen bir açık kaynaklı web sunucusudur. Ancak, diğer web sunucularına benzer şekilde Nginx, içeriği istemcilere teslim etme becerisini engelleyen hatalarla karşılaşabilir. Böyle bir hata, 502 Bad Gateway Nginx hatasıdır.
Özellikle teknik olarak yetkin değilseniz, hatalarla karşılaşmak oldukça sinir bozucu ve kafa karıştırıcı olabilir. Beyaz ölüm ekranı ve veritabanı bağlantısı kurulurken oluşan hata gibi birkaç benzer belirgin hatayla karşılaşabilirsiniz. Ancak 502 bad gateway nginx hatası çok popülerdir.
Bu hatanın oluşmasının birden çok olası nedeni olabilir ve bu nedenle sorunu gidermenin farklı yolları olabilir. Bu gönderide, 502 kötü ağ geçidi Nginx'in gerçekten ne anlama geldiğini, olası nedenlerini ve izlemeniz gereken en iyi sorun giderme yöntemini anlatacağız.
Haydi başlayalım!
Okuyun: Web Sitenizdeki 502 Kötü Ağ Geçidi Hatasını Düzeltmenin 15 Yöntemi
502 Kötü Ağ Geçidi Nginx Hatası nedir?
502 Kötü Ağ Geçidi Nginx hatası, ağ geçidi veya proxy sunucusu gibi davranan bir sunucunun yukarı akış sunucusundan geçerli bir yanıt alamadığını gösteren bir HTTP durum kodudur. Nginx söz konusu olduğunda, sunucu yukarı akış sunucusuyla bağlantı kuramadığında veya yukarı akış sunucusu geçersiz bir yanıt döndürdüğünde 502 hatalı ağ geçidi hatası oluşur.
Bu hata genellikle bir ters proxy veya yük dengeleyicinin arkasında barındırılan bir web sitesine veya web uygulamasına erişmeye çalışırken görülür.
Farklı sitelerde bulabileceğiniz birden çok 502 Bad Gateway Nginx Hatası varyasyonu vardır. Örneğin:
- HTTP Hatası 502- Hatalı Ağ Geçidi
- 502 Proxy Hatası
- 502 sunucu hatası
- 502 Hizmet Geçici Olarak Aşırı Yüklendi
- HTTP 502
- 502 Bad Ağ Geçidi nginx
- Hata 502
502 Kötü Ağ Geçidi Nginx Hatasına Ne Sebep Olur?
Nginx'te 502 Kötü Ağ Geçidi hatasının oluşmasının birkaç nedeni olabilir, ancak aşağıda listelenen en yaygın olanlardan bazıları şunlardır:
Sunucu Aşırı Yükü
Bir arka uç sunucusu çok fazla istek aldığında aşırı yüklenebilir ve zaman aşımı süresi içinde yanıt veremeyebilir. Yukarı akış sunucusu istemcinin isteğini karşılayamadığı için bu, 502 hatasına neden olur. Uygun sunucu boyutlandırma, kaynak tahsisi, yük dengeleme ve ölçeklendirme stratejileri, sunucunun aşırı yüklenmesini önleyebilir.
Bağlantı Sorunları
- Ters proxy sunucusu ile arka uç sunucusu arasındaki ağ bağlantısında bir sorun olduğunda bağlantı sorunları Nginx'te 502 Bad Gateway hatasına neden olabilir.
- Bu, ağ tıkanıklığı, yanlış yapılandırılmış ağ ayarları veya donanım arızaları nedeniyle olabilir.
- Ters proxy sunucusu, arka uç sunucusuna bir istek iletmeye çalıştığında ancak bağlantı kuramadığında, istemciye 502 hatası döndürür.
- Hata, ters proxy sunucusunun istemci ile arka uç sunucusu arasında bir aracı görevi görmesi ve istemcinin isteğini yerine getirmek için arka uç sunucusuna bağlanamaması nedeniyle oluşur.
- Ağ ayarlarında sorun giderme, güvenlik duvarı kurallarını kontrol etme ve ağ trafiğini izleme, sorunun çözülmesine yardımcı olabilir.
DNS Sorunları
- DNS sorunları, arka uç sunucusu için DNS çözümlemesi başarısız olduğunda Nginx'te 502 Kötü Ağ Geçidi hatasına neden olabilir.
- Bu, yanlış DNS yapılandırmaları, DNS sunucusu hataları veya DNS önbelleğe alma sorunları nedeniyle olabilir.
- Bir istemci ters proxy sunucusuna bir istek gönderdiğinde, ters proxy sunucusunun arka uç sunucusunun etki alanı adını bir IP adresine çözümlemesi gerekir.
- DNS çözümlemesi başarısız olursa, ters proxy sunucusu isteği arka uç sunucusuna iletemez ve istemciye 502 hatası döndürülmesine neden olur.
Okuyun: DNS nedir?
Güvenlik Duvarı Kısıtlamaları
- Güvenlik duvarı kısıtlamaları, bir güvenlik duvarı ters proxy sunucusu ile arka uç sunucusu arasındaki bağlantıyı engellediğinde Nginx'te 502 Kötü Ağ Geçidi hatasına neden olabilir.
- Bu, güvenlik duvarı belirli IP adreslerine veya bağlantı noktalarına giden ve bunlardan gelen trafiği kısıtlayacak şekilde yapılandırıldığında meydana gelebilir.
- Ters proxy sunucusu arka uç sunucusuna bağlanmaya çalıştığında, ancak güvenlik duvarı bağlantıyı engellediğinde, istemciye bir 502 hatası döndürür.
- Bunun nedeni, ters proxy sunucusunun istemci ile arka uç sunucusu arasında bir aracı görevi görmesi ve istemcinin isteğini yerine getirmek için arka uç sunucusuyla bağlantı kuramamasıdır.
- 502 hatasına neden olan güvenlik duvarı ile ilgili sorunları gidermek için, trafiğin ters proxy ve arka uç sunucuları arasında akmasına izin vermek için güvenlik duvarı kurallarını ayarlamanız gerekebilir.
Yazılım Hataları
- 502 Kötü Ağ Geçidi hatası, ters proxy sunucusunda veya arka uç sunucusunda bir yazılım hatası veya yanlış yapılandırma nedeniyle oluşabilir.
- Bu hata, kodlama hataları veya sunucu modüllerinin veya uygulamalarının yanlış yapılandırılması nedeniyle oluşabilir.
- Her iki sunucunun yazılımı veya yapılandırması bir hata içeriyorsa, istekleri işleme koyamayabilir veya zaman aşımı süresi içinde yanıt veremeyebilir, bu da istemciye 502 hatası döndürülmesine neden olabilir.
- 502 hatasına neden olan yazılımla ilgili sorunları düzeltmek için, hataları veya uyarı mesajlarını belirlemek için hem ters proxy hem de arka uç sunucularının günlüklerini incelemeniz gerekebilir.
PHP-FMP'nin yanıt vermesi çok uzun sürüyor
- PHP-FPM (FastCGI İşlem Yöneticisi), zaman aşımı süresi içinde yanıt veremediğinde veya kritik bir hatayla karşılaştığında Nginx'te 502 Bad Gateway hatasına neden olabilir.
- Bu hata, yetersiz kaynaklar, yanlış yapılandırma veya PHP kodundaki bir hata nedeniyle olabilir.
- PHP-FPM, PHP uygulamalarını Nginx'te çalıştırmanın popüler bir yoludur; burada Nginx, isteği PHP-FPM'ye gönderir ve PHP kodunu işler ve sonucu Nginx'e döndürür, ardından yanıtı istemciye geri gönderir.
- PHP-FPM ile ilgili sorunları çözmek için, işlem veya iş parçacığı sayısını artırmak veya zaman aşımı ayarlarını değiştirmek için PHP-FPM yapılandırmasını ayarlamanız gerekebilir.
- Herhangi bir hatayı veya performans sorununu belirlemek ve düzeltmek için PHP kodunu da incelemeniz gerekebilir.
- Ek olarak, sunucu günlüklerini ve sistem kaynaklarını izlemek, PHP-FPM ile ilgili daha büyük bir soruna işaret edebilecek kalıpları veya eğilimleri belirlemeye yardımcı olabilir.
Oku: HTTP 504 Ağ Geçidi Zaman Aşımı Hatası Nasıl Düzeltilir?
502 Bad Gateway Nginx Nasıl Onarılır?
502 Kötü Ağ Geçidi Nginx hatasını düzeltmek için takip edebileceğiniz bazı en iyi çözümler şunlardır:
- Nginx'in durumunu kontrol edin
- Arka Uç Sunucu Durumunu Kontrol Edin
- DNS yapılandırmasını kontrol edin
- Güvenlik Duvarı Yapılandırmasını Kontrol Edin
- Arabellek Boyutunu Artırın
- Nginx Sunucusunu Yeniden Başlatın
- PHP-FPM durumunu kontrol edin
Nginx'in durumunu kontrol edin
Yapmanız gereken ilk şey, Nginx'in çalışıp çalışmadığını ve isteklere yanıt verip vermediğini kontrol etmektir. Bunu yapmak için, aşağıda verilen aşağıdaki komutu çalıştırın:
1 |
systemctl status nginx |
Nginx çalışıyorsa, bunun gibi bir çıktı mesajı alacaksınız,
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-10-11 10:25:41 UTC; 1 days ago
Docs: https://httpd.nginx.org/docs/2.4/
Nginx çalışmıyorsa, bunun gibi bir çıktı mesajı alırsınız.
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2022-10-11 10:25:41 UTC; 25s ago
Docs: https://httpd.nginx.org/docs/2.4/
Şimdi, Nginx'in çalışmaması durumunda, aşağıdaki komutu kullanarak yeniden başlatmanız gerekir,
systemctl start nginx
Arka Uç Sunucu Durumunu Kontrol Edin
- Nginx'i barındıran ters proxy sunucusunda oturum açın.
- Bir terminal penceresi açın ve aşağıdaki komutu çalıştırın:
curl -I http://backend-server-ip-address/
• "arka uç sunucusu ip adresi"ni arka uç sunucunuzun IP adresiyle değiştirin.
• Komutun çıktısındaki HTTP durum kodunu kontrol edin. Arka uç sunucusu düzgün çalışıyorsa, 200 OK durum kodunu görmelisiniz.
• 200'den farklı bir durum kodu alırsanız, bu, arka uç sunucusunda bir sorun olabileceğini gösterir. Herhangi bir hatayı veya uyarı mesajını belirlemek için arka uç sunucusunun günlüklerini inceleyerek sorunu daha ayrıntılı inceleyebilirsiniz.
DNS yapılandırmasını kontrol edin
DNS çözümlemesi başarısız olursa, ters proxy sunucusu isteği arka uç sunucusuna iletemez ve istemciye 502 Bad Gateway hatası döndürülmesine neden olur. Bu nedenle, arka uç sunucusu için DNS yapılandırmasının doğru olduğunu doğrulamak önemlidir.
DNS yapılandırmasını kontrol etmek için aşağıdaki adımları uygulayabilirsiniz:
- Nginx'i barındıran ters proxy sunucusunda oturum açın.
- Bir terminal penceresi açın ve aşağıdaki komutu çalıştırın:
nslookup backend-server-domain-name
"Arka uç-sunucu-etki alanı-adı"nı arka uç sunucunuzun alan adıyla değiştirin.
• Arka uç sunucusu için doğru IP adresinin döndürüldüğünü doğrulamak için komutun çıktısını kontrol edin.
- Komutun çıktısı, DNS çözümlemesinin başarısız olduğunu gösteriyorsa, DNS yapılandırmasıyla ilgili bir sorun olabilir. Arka uç sunucusunun etki alanı adı için DNS ayarlarını kontrol ederek veya yardım için DNS sağlayıcınızla iletişime geçerek sorunu daha ayrıntılı inceleyebilirsiniz.
Güvenlik Duvarı Yapılandırmasını Kontrol Edin
Alışılmadık bir blok için güvenlik duvarı günlüklerini kontrol etmeniz önerilir. Bazen Güvenlik Duvarları siteleri de engeller veya engeller. Bu sorunun üstesinden gelmek için güvenlik duvarlarınızı geçici olarak devre dışı bırakmanız ve sorunun devam edip etmediğini veya çözülüp çözülmediğini kontrol etmeniz gerekir.
Arabellek Boyutunu Artırın
Arabellek boyutunu artırmak, Nginx'in sunucunun yanıtından daha fazla veri depolamasını sağlayarak yanıtın eksiksiz ve hatasız olmasını sağlar. Arabellek boyutunu artırmak için Nginx yapılandırma dosyasını düzenlemeniz ve aşağıdaki yönergeleri eklemeniz gerekir.
-
proxy_buffer_size
: Her arabelleğin boyutunu ayarlar. Varsayılan değer genellikle 4K'dır. Sunucunuzun gereksinimlerine bağlı olarak daha yüksek bir değere yükseltebilirsiniz. Örneğin, arabellek boyutunu 16K olarak ayarlamak için yapılandırma dosyanıza aşağıdaki satırı ekleyin:
proxy_buffer_size 16k;
-
proxy_buffers
: Ayrılacak arabellek sayısını ayarlar. Varsayılan değer genellikle 8'dir. Sunucunuzun gereksinimlerine bağlı olarak bunu daha yüksek bir değere yükseltebilirsiniz. Örneğin, arabellek sayısını 32'ye ve arabellek boyutunu 16K'ya ayarlamak için yapılandırma dosyanıza aşağıdaki satırı ekleyin:
proxy_buffers 32 16k;
Not: Arabellek boyutunu ve arabellek sayısını artırmanın sunucudaki bellek kullanımını artıracağını unutmamak önemlidir. Bu nedenle, sunucunuz ve uygulamanız için en uygun ayarı bulmak üzere farklı arabellek boyutları ve arabellek sayıları ile denemeler yapmalısınız.
- Nginx yapılandırma dosyasında değişiklikler yaptıktan sonra, değişikliklerin etkili olması için dosyayı kaydedin ve Nginx'i yeniden başlatın. Bunu aşağıdaki komutu çalıştırarak yapabilirsiniz:
sudo service nginx restart
Nginx Sunucusunu Yeniden Başlatın
Bazı durumlarda, Nginx sunucusunu yeniden başlatmak, 502 hatalı ağ geçidi Nginx hatasını çözebilir. Bunu yapmak için,
Terminalinizde veya kabuğunuzda bir komut çalıştırmanız gerekir. Kesin komut, kullandığınız işletim sistemine ve dağıtıma bağlıdır, ancak işte birkaç örnek:
- Ubuntu ve Debian:
sudo service nginx restart
- CentOS, Fedora ve RHEL:
sudo systemctl restart nginx
- macOS :
sudo nginx -s reload
Bu komutlar, Nginx sunucusunu zarif bir şekilde yeniden başlatacak, yani sunucu kapatılıp yeniden başlatılmadan önce tüm etkin bağlantıların bitmesini bekleyecektir.
PHP-FPM durumunu kontrol edin
Bazen, 502 Bad Gateway Nginx hatası PHP-FPM'nin çalışmaması nedeniyle de tetiklenebilir. Bu nedenle, düzgün çalıştığından emin olmak için PHP-FPM'nin durumunu kontrol etmek gerekir.
Çalışma durumunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz,
sudo service php-fpm status
PHP-FPM çalışıyorsa, aktif olduğunu belirten bir mesaj görmelisiniz.
Ancak, PHP-FPM çalışmıyorsa, aşağıdaki komutu kullanarak yeniden başlatmayı deneyebilirsiniz:
sudo service php-fpm restart
Bu komut, 502 hatalı ağ geçidi Nginx hatasını tetikleyebilecek herhangi bir sorunun çözülmesine yardımcı olabilecek PHP-FPM hizmetini yeniden başlatacaktır.
Özet
502 Kötü Ağ Geçidi Nginx hatası, Nginx kullanıcılarının karşılaşabileceği yaygın bir hatadır. Genellikle bağlantı sorunları, sunucu aşırı yüklemesi, DNS sorunları, güvenlik duvarı kısıtlamaları veya yazılım hatalarından kaynaklanır.
Ancak, bu makalede açıklanan adımları izleyerek 502 hatalı ağ geçidi nginx hatasını giderebilir ve çözebilirsiniz.
Yukarıdaki yöntemlerden hiçbiri işinize yaramadıysa ne yazık ki Nginx forumlarından veya çok deneyimli ve kalifiye bir Nginx danışmanından yardım almayı düşünün.
Bu yazıda gözden kaçırmış olabileceğimiz 502 Bad Gateway Nginx hatasıyla ilgili herhangi bir ipucunuz veya öneriniz varsa veya bununla ilgili deneyiminizi paylaşmak isterseniz, lütfen aşağıdaki yorum bölümünde bize bildirin. Girişinizi memnuniyetle karşılıyoruz.
Okuyun: WordPress'te HTTP 500 Dahili Sunucu Hatası nasıl düzeltilir?
Sıkça Sorulan Sorular
502 Kötü ağ geçidi nginx'i nasıl düzeltirim?
Aşağıdaki yöntemleri izleyerek 502 Bad Gateway nginx hatasını düzeltebilirsiniz:
1. Nginx'in durumunu kontrol edin
2. Arka Uç Sunucu Durumunu Kontrol Edin
3. DNS yapılandırmasını kontrol edin
4. Güvenlik Duvarı Yapılandırmasını Kontrol Edin
5. Arabellek Boyutunu Artırın
6. Nginx Sunucusunu Yeniden Başlatın
7. PHP-FPM statüsünü kontrol edin
Nginx durumumu nasıl kontrol ederim?
Nginx durumunu kontrol etmek için, aşağıda verilen aşağıdaki komutu çalıştırın:
systemctl durumu nginx
Çıktı, nginx'in çalışıp çalışmadığını gösterecektir.
502 Kötü ağ geçidi hatası nedir?
502 Kötü Ağ Geçidi Nginx hatası, ağ geçidi veya proxy sunucusu gibi davranan bir sunucunun yukarı akış sunucusundan geçerli bir yanıt alamadığını gösteren bir HTTP durum kodudur.