Solved – NGINX 502 Bad Gateway Error Hatası ve Çözümü

Update/Güncelleme: 02 Eylül 2015 02:50

Merhabalar,
Bugünkü paylaşımım NGINX 502 Bad Gateway (Error) Hatası üzerine işe yarar bir çözüm olacak:

nginx-502-bad-gateway-solvelogoHızla büyümekte olan (açık kaynak altyapılı) Nginx, artık sektördeki yerini çoktan almış ve daha da hızlı bir şekilde büyümeye devam ediyor, öyle ki 2015 yılı başlangıcında 10 Milyon dolar destek aldı işte şimdi korkun ondan! (:

 

Gelelim 502 Bad Gateway Nginx hatasına; bu hatayla karşılaşıyorsanız ve okuduğunuz ilk makale değilse bu paylaşım muhtemelen Plesk Nginx 502 Bad Gateway, Prestashop Nginx 502 Bad Gateway, WordPress Nginx 502 Bad Gateway…502 bad gateway… ve benzeri epeyce başlık görmüş olmalısınız. Hatta bazılarında trajikomedi olan durumlara şahit olmuş olabilirsiniz (: Arada bir paylaşım yapınca da lafı böyle uzatıyor blogger.. Son bir genel bilgi paylaşımı yaptıktan sonra hemen çözüme geçiyorum, eğer bir hosting kullanıcısıysanız bu durumu sağlayıcınızla paylaşmanız gerekmektedir.

NOT:
Şayet kendi kendi sanal (vps/vds) sunucunuz varsa aşağıdaki anlatılar sizi çözüme ulaştıracaktır.
NOT2: Bu hatanın bir çok sebebi olabilir (ağ çıkışı, tarayıcı vb. gibi) burada paylaşılan çözüm sunucu/server tabanlı hatayı dikkate alarak, çözümünü sunmaktır.

Nginx 502 Bad Gateway Hatası Nasıl Çözülür?

How to solve Nginx 502 Bad Gateway Error?

Bu makale Linux CentOS için anlatılmış olmasına rağmen başrol Nginx olduğu için farklı bir işletim sistemi kullanıyor olsanız da nginx.conf dosyasını bulup aynı adımları uygulayabilirsiniz. Örneğin, Windows Server kullanıyorsanız C:\nginx\conf\nginx.conf <- varsayılan yolu burası olmalı değilse, nginx.conf dosyasını aratabilirsiniz.

My VDS O.S is Linux / CentOS but this solution can be using for all operating systems because this problem is about the Nginx. If you do not know, “Where is nginx.conf?” you can search on your server. For example; if your server O.System is Windows, Nginx must be  on C:\nginx\conf\nginx.conf

  • /etc/nginx/nginx.conf dosyasını açın
    open the /etc/nginx/nginx.conf file
  • ve bu kodları ekleyin <– http{ buraya }
    and add the this code <– http {in here}
    http{

    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

    }
  • service nginx restart
    nginx ‘i yeniden başlatın ve yeniden deneyin!
    restart nginx and try again!
    (:

Plesk kullananlar için Nginx 502 Bad Gateway Hatasının pratik çözümü ise burada:
For those using the Plesk Panel, practical ways..

Plesk Nginx 502 Bad Gateway Hatası ve Çözümü

Plesk Nginx 502 Bad Gateway Hatası and Solution

  1. Plesk Panel ‘e admin girişi yapın, hatayı aldığınız sitenin Website & Doamins sekmesine gelin ve Web Server Settings butonuna tıklayın
    Solve - NGINX 502 Bad Gateway Error Hatası ve Çözümü--2
  2. Additional nginx directives <- alanına aşağıdaki değerleri girin ve kaydedin
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;Solved - NGINX 502 Bad Gateway Error Hatası ve Çözümü
  3. Tools & Settings ->Services Management -> Reverse Proxy Server (nginx) -> RESTART yaptığınızda ve çözüm tamamlanmış olacak!
    Araçlar & Seçenekler -> Servisleri Yönet -> Reverse Proxy Server (nginx) -> RESTART (en sağdaki buton)

Bu deneme CentOS 6.6 işletim sistemine sahip ve üzerinde Plesk Panel + Nginx 1.6 kurulu sanal sunucuda test edilmiş olup başarıyla sonuçlanmıştır. Yukarıda da belirtmiş olduğum gibi bu genel bir durumdur cPanel veyahut farklı bir panel kullanıcısı olsanız da mantık aynı: nginx.conf dosyası üzerinde ilgili değerleri yükseltip, nginx servisini yeniden başlatmalısınız aslında hepsi bu kadar!

 

Gzip/Deflate Sıkıştırma Kullanımı NGINX & APACHE Web Server .htaccess

Sunuculardaki performansın öneminden söz etmeye hiç gerek yok artık hepimiz bunun bilincindeyiz.

Linux sunucularda Apache ve Nginx uzun süredir epeyce popüler durumda yakın gelecekte bu durum değişecek gibi görünse de şimdilik durum bundan ibaret.
Bu arada merak edenler olabilir ben yönetimini yaptığım tüm sunucularda Nginx kullanmaktayım.

Apache kullanan sunuculardaki Apache Sıkıştırma Modülü mod_deflate iken Nginx kullanan sunuculardaki Nginx sıkıştırma modülü; HttpGzipModule ‘dır ve modüller varsayılan olarak yüklü gelir yapılandırma ayarlarına göre bu durumlar değişiklik gösterse de aktif durumda olmayabilir.

Peki sıkıştırma nasıl etkinleştirilir? ya da biraz daha teknik terimle soruyu yinelemek gerekirse Gzip/Deflate Nasıl Kullanılır?

Gzip Nginx Kullananlar için //For Nginx  Web Server

NGINX SERVER WEB CONFIG

Nginx_How To Enable HttpGzipModule On Nginx To Optimize Page Speed

gzip ‘i etkilentiştirmek için //for active/enabled gzip

1.) /etc/nginx/nginx.conf

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";

# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

2.) SSH

# service nginx restart

3.) .htaccess update HttpGzipModule

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Apache kullananlar için; Deflate //FOR APACHE WEB SERVER Deflate

Apache mod_deflate Nasıl Açılır/Aktifleştirilir? // How to enable, Apache mod_deflate

apache_How To Enable mod_deflate On Apache To Optimize Page Speed

1.) /etc/httpd/conf/httpd.conf

LoadModule deflate_module modules/mod_deflate.so

2.) SSH Reset Service

# /etc/init.d/httpd restart
or
# service httpd restart

3.) .htaccess update mod_deflate

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>