Nginx

Nginx HTTP'yi HTTPS'ye Yönlendiriyor

Nginx HTTP'yi HTTPS'ye Yönlendiriyor
"Engine x" olarak telaffuz edilen Nginx, ücretsiz, açık kaynaklı Linux tabanlı yüksek performanslı bir web ve internetteki en büyük web sitesi trafiğinin yükünü yönetmekten ve yönetmekten sorumlu bir ters proxy sunucusudur. Nginx, daha az güvenli veya şifrelenmemiş HTTP web trafiğini şifreli ve güvenli bir HTTPS web sunucusuna yönlendirmek için sisteminizde kolayca yapılandırılabilen güçlü bir yeniden yönlendirme aracıdır. Sistem yöneticisi veya geliştiriciyseniz, Nginx sunucusunu düzenli olarak kullanıyorsunuz demektir.

Bu yazıda, Nginx'te web trafiğini HTTP'den güvenli bir HTTPS'ye nasıl yönlendireceğimiz üzerinde çalışacağız.

Yanıtlar ve istekler, HTTP'de düz metin biçiminde döndürülürken, HTTPS, istemci ve sunucu sistemi arasındaki iletişimi şifrelemek için SSL/TLS kullanır. Bu nedenle, birçok nedenden dolayı HTTPS, aşağıda listelenen HTTP üzerinden kullanılır:

Her site sürümü için ayrı bir sunucu bloğunda trafiği HTTP'yi Nginx'te HTTPS'ye yönlendirmek tercih edilir. Ayrıca, sunucunun olağandışı davranışına neden olabilecek “if” yönünü kullanarak trafiği yeniden yönlendirmekten kaçınmanız önerilir.

Tüm trafiği HTTP'den HTTPS'ye yönlendirin

Tüm trafiği HTTP'den HTTPS sürümüne yönlendirmek için aşağıdaki değişiklikleri Nginx yapılandırma dosyasına ekleyin:

sunucu
80 default_server'ı dinle;
sunucu adı _;
301 https://$host$request_uri döndür;

Aşağıda, yukarıda belirtilen her terimi detaylandırdık:

Listen 80 default_server - bu, sisteminizin Port 80'deki tüm HTTP trafiğini yakaladığını bildirir.
Sunucu_adı _ - herhangi bir ana bilgisayar adıyla eşleşecek etki alanıdır.

301 döndür https://$host$request_uri - bu, arama motorlarınıza onu kalıcı olarak yeniden yönlendirdiğini söyler. $Host değişkeninin alan adlarını tuttuğunu belirtir.

Yapılandırma ayarlarını değiştirdikten sonra, Nginx hizmetlerini sisteminize yeniden yüklemeniz gerekir. Bu nedenle, aşağıdaki komutu kullanarak Nginx hizmetlerinizi yeniden yükleyin:

$ sudo systemctl nginx'i yeniden yükle

Nginx'te Belirtilen etki alanı için HTTP'yi HTTPS sürümüne yönlendirin

Alan adınıza SSL sertifikasını yükledikten sonra, bu alan adı için iki sunucu bloğu seçeneğiniz olacaktır. Bir blok, 80 numaralı bağlantı noktasını dinleyen HTTP sürümü içindir ve ikinci sürüm, 443 numaralı bağlantı noktasındaki HTTPS'dir. Ancak, tek bir web sitesi etki alanını HTTP'den HTTPS'ye yönlendirmek için Nginx yapılandırmasını açmanız gerekir. Bu yapılandırma dosyasını /etc/nginx/sites-available dizininde bulabilirsiniz. Her durumda, bu dosyayı bulamadıysanız, /etc/nginx/nginx ile arayabilirsiniz.conf, /usr/local/nginx/conf veya /usr/local/etc/nginx ve ardından bu dosyada aşağıdaki değişiklikleri yapın:

sunucu
80 dinle;
sunucu_adı alan adı.com www.alan adı.com;
301 https://domain-name döndür.com$request_uri;

Yukarıdaki kodu satır satır anlayalım.
80 dinle - 80 numaralı bağlantı noktasını kullanarak, sunucu belirtilen etki alanındaki tüm gelen bağlantıları dinler.

sunucu_adı alan adı.com www.alan adı.com - alan adlarını belirtir. Bu nedenle, yönlendirmek istediğiniz web sitenizin alan adıyla değiştirin.

301 https://domain-name döndür.com$request_uri - trafiği sitenin HTTPS sürümüne taşır. $request_uri değişkeni, bağımsız değişkenlerin de dahil edildiği tam orijinal istek URI'si için kullanılır.

Aşağıdaki yöntemi kullanarak, trafiği HTTPS www sürümüne, sitenin www olmayan sürümüne yönlendirebilirsiniz. Hem www olmayan hem de www olmayan sürümler için ayrı bir sunucu bloğunda yeniden yönlendirme oluşturulması önerilir.

Bir örnekle açıklayalım. www HTTPS isteklerini www olmayan sürüme yönlendirmek istiyorsanız, aşağıdaki yapılandırmayı izlemelisiniz:

sunucu
80 dinle;
sunucu_adı alan adı.com www.alan adı.com;
301 https://domain-name döndür.com$request_uri;

sunucu
443 ssl http2'yi dinle;
sunucu_adı www.alan adı.com;
#… diğer kod
301 https://domain-name döndür.com$request_uri;

sunucu
443 ssl http2'yi dinle;
sunucu_adı alan adı.com;
#… diğer kod

Alan adını www gibi alan adınızla değiştirin.linux ipucu.com.

Sonuç

Nginx sunucusundaki HTTP sürümünden HTTPS'ye trafiğin nasıl yönlendirileceğini tartıştık. Nginx yapılandırma dosyası ayarını değiştirerek, belirli bir etki alanı için trafiği kolayca HTTPS'ye yönlendirebilir veya tümünü yeniden yönlendirebilirsiniz. Bu yazıda bahsettiğimiz bu yöntem, kullanıcı deneyiminde herhangi bir değişiklik yaparak web sitenizi daha güvenli hale getirmenize yardımcı olabilir.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...
Linux için En İyi Gamepad Eşleme Uygulamaları
Tipik bir klavye ve fare giriş sistemi yerine bir gamepad ile Linux'ta oyun oynamayı seviyorsanız, sizin için bazı faydalı uygulamalar var. Çoğu PC oy...