Ödeme Yöntemleri Abuse

Http'den https'ye nasıl yönlendirme yapılır Nginx

22.03.2021, 19:19

İnternetteki modern eğilimler, güvenli https iletişim protokolünün kullanılmasını gerektirmektedir. Bu yüzden geçiş yaparken http portuna gelen tüm trafiğin otomatik olarak https'ye yönlendirilmesi önemlidir. Bu sadece bazı trafiği kaybedebilecek siteler için değil, aynı zamanda kullanıcılar için de önemli bir durumdur, böylece hiç kimse güvenli olmayan bir bağlantıyı kıramaz. Şimdi http'den https Nginx'e yönlendirmeyi nasıl yapılandıracağımızı görelim.

Http'den https Nginx'e yönlendirme nasıl yapılır

Durum kodu 301 olan yönlendirmeyi kullanmanızı öneririz. Arama motorlarına veya tarayıcıya mevcut bağlantının güncellendiğini ve veritabanında, örneğin tarayıcı yer imlerinde güncellenmesi gerektiğini söyler. Yapılandırma dosyasını açarsak, https sitesi ve http sitesi için iki bölüm sunucusu bulabiliriz. Http bölümünde, geri dönüş talimatını kullanarak tüm istekleri https'ye yönlendirirsiniz ve ikinci bölümde her şeyi işlersiniz. Örneğin, ilk bölüm:

server {
server_name losst.ru www.losst.ru;
charset off;
index index.php;
ssi on;
return 301 https://$host:443$request_uri;
set $root_path /var/www/losst/data/www/losst.ru;
root $root_path;
listen :80 default_server;
...
}

Http'den https'ye nasıl yönlendirme yapılır Nginx

İkinci bölüm 433 portundaki istekleri takip eder:

server {
server_name losst.ru www.losst.ru;
ssl on;
ssl_certificate "/var/www/losst/losst.ru_le2.crtca";
ssl_certificate_key "/var/www/losst/losst.ru_le2.key";
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000;";
charset off;
index index.php;
set $root_path /var/www/losst/data/www/losst.ru;
root $root_path;
listen :443 default_server;
...
}

Gördüğünüz gibi, bu durumda sözdizimi çok basit ve açıktır. Böylece return komutu gerekli sunucu yanıt kodlarını döndürmemizi sağlar. Böylece 301 kodunu, kalıcı yönlendirmeyi ve kullanıcıyı yönlendireceğimiz URL'yi döndürüyoruz. Return yönergesine ek olarak, tamamen aynı eylemleri gerçekleştiren rewrite yönergesini de kullanabilirsiniz:

rewrite ^/(.*)$ https://losst.com/$1 permanent;

Düzenli ifadelerin sözdiziminde, 301 dönüşü yerine etki alanını ekleyebilirsiniz. Böyle bir yapıyı ayrı bir sunucu bloğu olmadan da kullanabilirsiniz:

if ($host ~* ^(losst.ru|www.losst.ru)$ ){
rewrite ^/(.*)$ https://losst.ru/$1 permanent;
}

Ardından, dosyayı kaydetmeniz ve Nginx yapılandırmasını kontrol etmeniz gerekir. Bu amaç için kullanılır:

$ sudo nginx -t

настройка Nginx

Her şey yolundaysa, Nginx'i yeniden başlatın:

$ sudo systemctl restart nginx

curl ile ne tür bir sunucu yanıtı aldığınızı kontrol edin:

$ curl -I losst.ru

настройка Nginx

Ya da yardımcı programın tam yönlendirme yolunu izlemesine izin verin:

$ curl ILa losst.ru

настройка Nginx

Gördüğünüz gibi, https nginx'e bir yönlendirme yapılandırmak oldukça basittir, iş yapılandırma dosyasına bir satır ekleyerek yapılır, geri kalanı tüm ek parametrelerdir.