Šiame straipsnyje aptarsime, kaip nukreipti žiniatinklio srautą iš HTTP į saugų HTTPS „Nginx“.
Atsakymai ir užklausos grąžinami paprastu tekstu HTTP, o HTTPS naudoja SSL/TLS ryšiui tarp kliento ir serverio sistemos užšifruoti. Todėl dėl daugelio priežasčių HTTPS naudojamas per HTTP, kurios išvardytos toliau:
- Visi duomenys tarp kliento ir serverio abiem kryptimis yra užšifruoti. Tačiau niekas negali prieiti prie slaptos informacijos, jei yra sulaikytas.
- Kai naudojate HTTPS, „Google Chrome“ ir kitos naršyklės jūsų svetainės domeną laikys saugiu.
- HTTPS versija pagerina nurodytą svetainės našumą naudojant HTTP/2 protokolą.
- Jei aptarnaujate savo svetainės domeną per HTTPS, svetainė bus geriau įvertinta „Google“, nes ji teikia pirmenybę visoms HTTPS apsaugotoms svetainėms.
Pageidautina nukreipti srautą HTTP į HTTPS „Nginx“ atskiroje serverio bloke kiekvienai svetainės versijai. Taip pat rekomenduojama vengti srauto peradresavimo naudojant kryptį, kuri gali sukelti neįprastą serverio elgesį.
Peradresuokite visą srautą iš HTTP į HTTPS
Į „Nginx“ konfigūracijos failą įtraukite šiuos pakeitimus, kad nukreiptumėte visą srautą iš HTTP į HTTPS versiją:
serveris {
klausyk 80numatytasis_serveris;
serverio pavadinimas _;
grįžti 301https: //$ šeimininkas$ request_uri;
}
Žemiau mes parengėme kiekvieną aukščiau paminėtą terminą:
Klausykitės 80 default_server - tai signalizuos jūsų sistemą, kuri užfiksuoja visą HTTP srautą 80 prievade.
Serverio_pavadinimas _ - tai domenas, kuris atitiks bet kurį pagrindinio kompiuterio pavadinimą.
Grąžinkite 301 https: // $ host $ request_uri - tai nurodo jūsų paieškos sistemoms, kad ji visam laikui peradresuoja. Jame nurodoma, kad kintamasis $ host turi domenų pavadinimus.
Kai pakeisite konfigūracijos nustatymus, turite iš naujo įkelti „Nginx“ paslaugas į savo sistemą. Taigi, iš naujo įkelkite „Nginx“ paslaugas naudodami šią komandą:
$sudosystemctl iš naujo įkelti nginxPeradresuokite HTTP į nurodyto domeno „Nginx“ HTTPS versiją
Įdiegę SSL sertifikatą savo domene, turėsite dvi šio domeno serverio blokavimo parinktis. Vienas blokas skirtas HTTP versijai klausytis 80 prievado, o antroji versija - HTTPS prievadui 443. Tačiau norint nukreipti vieno svetainės domeną iš HTTP į HTTPS, turite atidaryti „Nginx“ konfigūraciją. Šį konfigūracijos failą galite rasti kataloge/etc/nginx/sites-available. Bet kuriuo atveju, jei neradote šio failo, galite jo ieškoti naudodami /etc/nginx/nginx.conf,/usr/local/nginx/conf arba/usr/local/etc/nginx, tada atlikite šiuos pakeitimus šiame faile:
serveris {klausyk 80;
serverio pavadinimas domain-name.com www.domain-name.com;
grįžti 301https://domain-name.com$ request_uri;
}
Supraskime aukščiau pateiktą kodą eilute po eilutės.
Klausytis 80 - naudojant 80 prievadą, serveris klausys visų įeinančių ryšių nurodyto domeno.
Serverio_domenas-vardas.com www.domenas-vardas.com-jame nurodomi domenų pavadinimai. Taigi pakeiskite jį savo svetainės domeno pavadinimu, kurį norite nukreipti.
Grąžinkite 301 https: //domain-name.com$request_uri-srautas perkeliamas į HTTPS svetainės versiją. Kintamasis $ request_uri naudojamas visam pradiniam užklausos URI, kuriame taip pat yra argumentų.
Naudodami šį metodą, galite nukreipti srautą į HTTPS www versiją į ne svetainės versiją. Rekomenduojama sukurti peradresavimą atskirame serverio bloke tiek ne www, tiek www versijoms.
Paaiškinkime pavyzdžiu. Jei norite nukreipti www HTTPS užklausas į ne www versiją, atlikite šią konfigūraciją:
serveris {klausyk 80;
serverio pavadinimas domain-name.com www.domain-name.com;
grįžti 301https://domain-name.com$ request_uri;
}
serveris {
klausyk 443 ssl http2;
serverio pavadinimas www.domenas-vardas.com;
#. . . kitas kodas
grįžti 301https://domain-name.com$ request_uri;
}
serveris {
klausyk 443 ssl http2;
serverio pavadinimas domenas-pavadinimas.com;
#. . . kitas kodas
}
Pakeiskite domeno pavadinimą savo domenu, pvz., Www.linuxhint.com.
Išvada
Aptarėme, kaip peradresuoti srautą iš HTTP versijos į HTTPS „Nginx“ serveryje. Pakeitę „Nginx“ konfigūracijos failo nustatymą, galite lengvai peradresuoti srautą į HTTPS nurodytam domenui arba nukreipti visus. Šis metodas, kurį paminėjome šiame straipsnyje, gali padėti padaryti jūsų svetainę saugesnę, pakeisdamas naudotojo patirtį.