Төлем әдістері Abuse

http-ден https Nginx-ке қалай бағыттауға болады

22.03.2021, 19:19

Интернеттегі заманауи тенденциялар қауіпсіз https байланыс протоколын пайдалану шарттарын талап етеді. Сонымен, ауысу кезінде http портына келетін барлық трафик автоматты түрде https-ке қайта бағытталуы маңызды. Бұл кейбір трафикті жоғалтуы мүмкін сайттар үшін ғана емес, пайдаланушылар үшін де маңызды шарт, сондықтан ешкім қорғалмаған қосылымды бұзуға мүмкіндік бермейді. Әрі қарай, http-ден https Nginx-ке қайта бағыттауды конфигурациялауды қарастырамыз.

http-ден https Nginx-ке қалай бағыттауға болады

301 күй коды бар қайта бағыттауды пайдалануды ұсынамыз. Ол іздеу жүйелеріне немесе шолғышқа ағымдағы сілтеменің жаңартылғанын және оның дерекқорында, мысалы, шолғыш бетбелгілерін жаңарту керектігін айтады. Егер біз конфигурация файлын ашсақ, онда https және http сайтындағы сайт үшін екі сервер бөлімін таба аламыз. Http бөлімінде сіз қайтару нұсқаулығын пайдаланып https-қа барлық сұрауларды жай ғана бағыттайсыз, ал екінші бөлімде барлығын өңдейсіз. Мысалы, бірінші бөлім:

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-ден https Nginx-ке қалай бағыттауға болады

Екінші бөлім 433 портындағы сұрауларды орындайды:

 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; ... }

Көріп отырғаныңыздай, бұл жағдайда синтаксис өте қарапайым және түсінікті. Сондықтан қайтару нұсқауы сервердің қажетті жауап кодтарын қайтаруға мүмкіндік береді. Осылайша, біз 301 кодын, тұрақты қайта бағыттауды және пайдаланушыны қайта бағыттайтын URL мекенжайын қайтарамыз. Қайтару директивасына қосымша сіз қайта жазу нұсқаулығын пайдалана аласыз, оның көмегімен дәл сол әрекеттерді орындайсыз:

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

Қайтару 301 орнына тұрақты өрнек синтаксисіне домен қосуға болады. Сондай-ақ бұл құрылымды бөлек сервер блогынсыз пайдалануға болады:

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

Содан кейін файлды сақтап, Nginx конфигурациясын тексеру керек. Ол үшін мынаны пайдаланыңыз:

 $ sudo nginx -t 

Nginx орнату

Егер бәрі жақсы болса, Nginx бағдарламасын қайта іске қосыңыз:

 $ sudo systemctl restart nginx

curl көмегімен қандай сервер жауабын алатыныңызды тексеріңіз:

 $ curl -I losst.ru 

Nginx орнату

Немесе утилитаға қайта бағыттау арқылы толық жолды ұстануға рұқсат етіңіз:

 $ curl ILa losst.ru 

Nginx орнату

Көріп отырғаныңыздай, https nginx-ке қайта бағыттауды конфигурациялау өте оңай, жұмыс конфигурация файлына бір жолды қосу арқылы орындалады, қалғанының бәрі қосымша параметрлер.