Nginx

Hoe u URL's omleidt in Nginx

Hoe u URL's omleidt in Nginx
Nginx is een lichtgewicht webserver, die ook vaak wordt gebruikt als reverse proxy, webserver en load balancer. Nginx komt standaard met veel handige functies, en er kunnen meer als modules worden toegevoegd wanneer het wordt geïnstalleerd. Deze gids is bedoeld om te demonstreren hoe je Nginx kunt gebruiken om URL's naar verschillende richtingen om te leiden. Hoewel Nginx een overvloed aan functies biedt om URL's om te leiden, gebruikt deze gids een fractie ervan, omdat het de bedoeling is om alleen de essentiële te leren in URL-omleiding. De gebieden die in deze handleiding worden behandeld, zijn het omleiden van onveilige (poort 80) URL's naar de beveiligde versie, het omleiden van een verzoek naar het IP-adres naar een domeinnaam en tenslotte het omleiden van alle andere subdomeinen, domeinen naar het hoofddomein.

Voorbenodigdheden

Allereerst gaat deze handleiding ervan uit dat de gebruiker een goede SSH-client op de computer heeft geïnstalleerd, zo niet, ga je gang en installeer Putty als de client en gebruik dan de volgende opdrachten. Bovendien zijn Nginx en Nano-editor ook vereist.

  1. Typ de volgende opdrachten om Nano-teksteditor te installeren:. De eerste opdracht helpt om de nieuwste pakketten uit de repositories op te halen en de tweede opdracht installeert de nieuwste versie van nano-teksteditor.
sudo apt-get update
sudo apt-get install nano
  1. Typ in het terminalvenster de volgende opdracht om de huidige map te wijzigen in de nginx-map:.
cd /etc/nginx/sites-beschikbaar
  1. Typ nu nano standaard of de bestandsnaam die aan het domein is gekoppeld om de instellingen van het domein te wijzigen.
  2. Volg nu een van de volgende segmenten om verder te gaan:.

Omleiden vanaf HTTP (poort 80)

Google, Bing en vele andere zoekmachines geven tegenwoordig de voorkeur aan websites met een versleutelde verbinding. Wanneer de verbinding tussen de client en de server is gecodeerd, zijn de gegevens die via die specifieke verbinding worden verzonden, veilig en hebben derden dus geen toegang tot die gegevens. Wanneer de verbinding niet versleuteld is, zijn dergelijke sites onveilig en brengt dit de veiligheid van de gegevens in gevaar. Onveilige website gebruikt poort 80 om zijn service aan het publiek te leveren. Helaas maakt de webbrowser standaard verbinding met poort 80, omdat de webserver ervan uitgaat dat dit is wat de klant standaard wil, en dus moet het verzoek worden doorgestuurd naar de beveiligde versie. Er zijn meerdere manieren om het voor elkaar te krijgen met Nginx.

Methode 1

Als de huidige domeinnaam beschikbaar is en verzoeken van klanten ontvangt, kunnen ze worden omgeleid naar een ander domein met het volgende codefragment. Kopieer het eenvoudig naar het standaardbestand of het bestand van het domein.

Standaard serverparameter geeft aan dat dit serverblok de standaardserver is, vandaar dat alle verzoeken aan poort 80 dit serverblok eerst standaard uitvoeren, en daarna volgt rust. De haakjes geven aan dat het ook verzoeken van ipv6-netwerken vastlegt. Return 310 betekent dat de omleiding permanent is, en dus wordt er link juice mee doorgegeven.

server
luister 80 default_server;
luister [::]:80 standaard_server;
server_name domein.com www.domein.com;
retour 301 https://domein.com$request_uri;

Methode 2

Als er geen website aan de huidige server is gekoppeld en de vereiste is om alle verzoeken om te leiden naar poort 80, dan kan het volgende serverblok worden gebruikt. Kopieer het naar het standaardbestand zoals eerder vermeld. Hier _ (onderstrepingsteken) betekent elk domein. Zoals eerder kunnen parameter default_server, haakjes (voor IPv6-adressen) zoals optionele attributen hier ook worden gebruikt.

server
luister 80 default_server;
server naam _;
retourneer 301 https://$host$request_uri;

Methode 3

Het volgende codefragment geeft aan dat als de verbinding niet is versleuteld, wat betekent dat poort 80 verzoeken ontvangt, ze worden omgeleid naar een beveiligde versie van het opgegeven domein. Dit moet overal in het server -blok worden gekopieerd, maar na de parameter server_name.

als ($schema != "https")
retourneer 301 https://$host$request_uri;

Omleiden vanaf het IP-adres

In tegenstelling tot een gedeelde host hebben zowel dedicated servers als virtual private servers altijd een dedicated IP-adres toegewezen gekregen. Als de webserver is geconfigureerd met Nginx met onderstrepingsteken (wat betekent dat de server elk verzoek verwerkt), krijgt elk verzoek aan het IP-adres ook toegang tot de website. Toegang hebben tot de website via een IP-adres is om verschillende redenen niet iets wat elke webmaster wil. Aan de andere kant, als elk verzoek wordt verwerkt, kunnen kwaadwillende gebruikers elk willekeurig domein associëren met de webserver, wat niet goed is voor de naam van het merk of het bedrijf, en daarom is het belangrijk om alleen verzoeken aan specifieke domeinen of en IP adres. Dit segment laat in dergelijke gevallen zien hoe verzoeken naar het IP-adres van de webserver kunnen worden verwerkt. Het gebruik van dit codeblok samen met een van de bovenstaande codeblokken (behalve methode 2 van de vorige oplossing) zorgt ervoor dat elk verzoek aan beide domeinen en IP wordt omgeleid naar de gewenste bestemming.

Zoals hierboven vermeld, kopieer het volgende codefragment naar het standaardbestand van Nginx (vereisten, 3e stap). In plaats van de naam van het domein in de parameter server_name te gebruiken, gebruikt u eenvoudig het IP-adres van de server en gebruikt u in de volgende regel "return 301 domain" naar waar het verzoek wordt omgeleid. Wanneer nu een verzoek naar dit specifieke IP-adres op de server wordt ontvangen, wordt het doorgestuurd naar het vermelde domein. Een goed voorbeeld hiervan is wanneer een willekeurige gebruiker het IP-adres van de webserver typt om rechtstreeks toegang te krijgen tot de site. Als het volgende codefragment nergens in het standaardbestand wordt vermeld, wordt een verzoek aan het IP-adres niet verwerkt; vandaar dat gebruikers geen toegang hebben tot de website via het IP-adres.

server
luister 80;
luister [::]:80;
luister 443 ssl http2;
luister [::]:443 ssl http2;
servernaam 192.168.1.1;
retour 301 https://nucuta.com;

Omleiden vanaf een ander domein

Deze oplossing is hetzelfde als de eerste oplossing van deze handleiding, behalve dat het verzoeken ook omleidt naar de 443-poort van de webserver, wat betekent dat zowel beveiligde als onbeveiligde verzoeken worden omgeleid naar het vermelde domein in de return-parameter. Zoals eerder gezegd, kopieer dit gewoon naar het standaardbestand.

server
luister 80;
luister [::]:80;
luister 443 ssl http2;
luister [::]:443 ssl http2;
server_name domein.com www.domein.com;
retour 301 https://nucuta.com;

Finaliseren

Na het volgen van een van de bovenstaande oplossingen, moet het nginx-bestand worden gecompileerd om de configuratie in werking te laten treden. Het standaardbestand moet echter worden getest voordat het wordt gecompileerd, omdat het voorkomt dat de webserver crasht als er een fout in de configuratie is opgetreden.

  1. Gebruik gewoon de volgende opdracht in de Linux-terminal om het standaardconfiguratiebestand te testen, als het resultaat goed is, ga verder met de volgende stap:.
sudo nginx -t
  1. Gebruik een van de volgende opdrachten om de Nginx-webserver opnieuw op te starten. De opdracht hangt af van de naam en versie van Linux distro.
sudo systemctl herstart nginx
sudo service nginx herladen
sudo /etc/init.d/nginx herladen
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...
Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...