Начини плаћања 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, посао се обавља додавањем једне линије у конфигурациону датотеку, све остало су додатни параметри.