Android

Átirányítsa a http-t az https-hez az nginx-ben

Paul Gilding: The Earth is full

Paul Gilding: The Earth is full

Tartalomjegyzék:

Anonim

Ebben az útmutatóban elmagyarázzuk, hogyan lehet átirányítani a HTTP forgalmat a HTTPS-re Nginxben.

A Nginx kiejtése: „motor x” egy ingyenes, nyílt forrású, nagy teljesítményű HTTP és fordított proxy szerver, amely az interneten az egyik legnagyobb webhely terhelésének kezeléséért felelős.

A HTTP-től eltérően, ahol a kéréseket és a válaszokat szöveges formában küldik és adják vissza, a HTTPS a TLS / SSL-t használja az ügyfél és a szerver közötti kommunikáció titkosításához.

A HTTPS HTTP-n keresztüli használatának számos előnye van, például:

  • Az összes adat mindkét irányban titkosítva van. Ennek eredményeként az érzékeny információkat nem lehet elolvasni, ha elfogják őket.A Google Chrome és az összes többi népszerű böngésző biztonságossá fogja jelölni az Ön webhelyét.HTTPS lehetővé teszi a HTTP / 2 protokoll használatát, ami jelentősen javítja a webhely teljesítményét.A Google kedveli a HTTPS webhelyeket. Webhelyed jobban rangsorolódik, ha HTTPS-en keresztül szolgáltatják.

Az Nginxben a HTTP-re a HTTPS-re való átirányítás preferált módszere egy külön szerverblokk konfigurálása a webhely minden verziója számára. Kerülje a forgalom átirányítását az if irányelv használatával, mivel ez kiszámíthatatlan viselkedést okozhat a kiszolgálón.

Átirányítsa a HTTP-t a HTTPS-re webhelyenként

Egy webhely átirányításához a HTTPS-re nyissa meg a tartománykonfigurációs fájlt, és hajtsa végre a következő módosításokat:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }

Bontjuk le a kódot soronként:

  • listen 80 - A szerverblokk meghallgatja a bejövő kapcsolatokat a megadott tartomány 80 portján. server_name linuxize.com www.linuxize.com - Megadja a szerverblokk domainneveit. Feltétlenül cserélje le a domain nevére. return 301 - A forgalom átirányítása a webhely HTTPS verziójára. A $request_uri változó a teljes eredeti kérés URI, az argumentumokkal együtt.

Általában a webhely HTTPS www-változatát is átirányítani kell a nem-www-re, vagy fordítva. Az átirányítás ajánlott módja egy külön szerverblokk létrehozása mind a www, mind a nem www verziók számára.

Például a HTTPS www-kérelmek nem-www -ra való átirányításához a következő konfigurációt használja:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }

Az összes webhely átirányítása a HTTPS-re

Ha az összes kiszolgálón tárolt webhely HTTPS használatára van konfigurálva, és nem akarja különálló HTTP szerver blokkot létrehozni minden egyes webhelyhez, akkor létrehozhat egyetlen, átfogó HTTP szerver blokkot. Ez a blokk átirányítja az összes HTTP kérést a megfelelő HTTPS blokkokba.

Egy egységes HTTP blokk létrehozásához, amely átirányítja a látogatókat a webhely HTTPS verziójához, nyissa meg az Nginx konfigurációs fájlt, és hajtsa végre a következő módosításokat:

server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }

Elemezzük a kódot soronként:

  • listen 80 default_server - Beállítja ezt a szerverblokkot alapértelmezett (összeszerelt) blokkként az összes páratlan domainhez. server_name _ - _ érvénytelen domain név, amely soha nem felel meg egyetlen valós domain névnek sem. return 301 - Átirányítsa a forgalmat a megfelelő HTTPS szerverblokkba, amelynek 301 állapotkódja van (Állandóan return 301 ). A $host változó a kérelem domain nevét tartalmazza.

Például, ha a látogató megnyitja a http://example.com/page2 oldalt a böngészőben, az Nginx átirányítja a kérelmet a https://example.com/page2 .

Ha lehetséges, inkább egy domain-alapú átirányítást hozzon létre a globális HTTP helyett a HTTPS-re történő átirányítás helyett.

Következtetés

Miután telepített egy SSL-tanúsítványt a webhelyére, a HTTP-forgalmat a HTTPS-re kell irányítania.

Az Nginxben a HTTP HTTPS-re való átirányításának preferált módja egy különálló szerverblokkok létrehozása és a 301-es átirányítás végrehajtása.

nginx