Sales3 min read660 words

Nginx Proxy Forward en SSL Certificaat Installatie

Fatih Çevik

Fatih Çevik

PlusClouds Author

Cloud & SaaS


U heeft al een werkende website, maar u wilt uw omgeving verplaatsen, lokaal netwerk opgezet, NetGateway (Hieronder zullen we het hebben.) geïnstalleerd en uw virtuele machines op uw lokale netwerk ingesteld, tot slot heeft u uw webserver geconfigureerd en uw site opgestart, maar wat is dit? U probeert uw website te bereiken, maar u slaagt er niet in. Terwijl u nadenkt over de reden, realiseert u zich dat uw website lokaal netwerk werkt. Hoe kunnen we dit probleem oplossen? Ja, u denkt goed na, het antwoord is absoluut Nginx :)

Wat is NetGateway?

NetGateway is een service die 100% door Plusclouds is ontwikkeld en veel functies kan vervullen, zoals een Linux gebaseerde router en load balancer.


Wat is Nginx?

Nginx is een webserver die is ontworpen met een focus op hoge gelijktijdige verwerkingscapaciteit, hoge prestaties en laag geheugengebruik. Het kan ook fungeren als reverse proxy , load balancer en HTTP-cache .

In dit artikel zullen we de Nginx service gebruiken voor proxy doorverwijzing . Hierdoor kan uw website worden bereikt, niet alleen lokaal, maar ook via alle openbare verbindingen.

1. Log eerst in op uw NetGateway virtuele machine die als router fungeert en voer de Nginx installatie uit

Nginx is standaard beschikbaar in apt-repositories. Voer de onderstaande opdracht uit om Nginx te installeren.

apt -y install nginx

2. Maak een CSR-bestand voor het SSL-certificaat en laat het door de hosting ondertekenen

Voer de volgende opdracht uit in de terminal met de juiste bevoegdheden om een CSR-bestand met OpenSSL te maken.

openssl req -new -newkey rsa:2048 -nodes -keyout example.com -out example.com.csr

example.com vergeet niet uw eigen domeinnamen te vervangen!

Nadat u uw bedrijfs- en domeingegevens heeft ingevoerd, ziet u dat er twee bestanden met de namen example.com.csr en example.com.key zijn aangemaakt in uw huidige map.

3. Onderteken uw CSR-bestand

Laat het CSR-bestand dat u heeft gemaakt ondertekenen door de hosting en kopieer vervolgens het .pem bestand dat u ontvangt naar uw NetGateway machine.

4. Pas de Nginx-configuratie aan

Toegang eerst tot de onderstaande directory

cd /etc/nginx

Gebruik vervolgens de ls opdracht om de subdirectories en bestanden weer te geven. U zult twee directories zien genaamd sites-available en sites-enabled . Aangezien we onze website hier niet hosten, is het voldoende om onze proxy- en SSL-configuraties in sites-enabled te definiëren. Ga naar de directory en maak het configuratiebestand aan met de volgende opdrachten

cd sites-enablednano example.com.conf

Nadat u het configuratiebestand heeft aangemaakt, kopieert u de onderstaande inhoud en plakt u deze. Example.com vergeet niet de domeinnaam en het webserver IP-adres te vervangen door uw eigen gegevens.

server {

listen 80;

server_name example.com;

return 301 https:// ​request_uri;

}

server {

listen 443;

server_name example.com;

ssl_certificate /root/ssl/example.com.pem;

ssl_certificate_key /root/ssl/example.com.key;

ssl on;

ssl_session_cache builtin:1000 shared:SSL:10m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;

ssl_prefer_server_ciphers on;

access_log /var/log/nginx/example.com.access.log;

location / {

proxy_set_header Host $host; 

 proxy_set_header X-Real-IP $remote_addr;

 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

 proxy_set_header X-Forwarded-Proto $scheme;

proxy_pass http://10.0.10.27:80 ; proxy_read_timeout 90;

proxy_redirect http://10.0.10.27:80 https://example.com ;

}

}

In het bovenste gedeelte van de configuratie geven we aan dat de Nginx-service aanvragen voor het domein example.com op poort 80 moet beluisteren.

Vervolgens configureren we het tweede gedeelte om poort 443, dat wil zeggen HTTPS te beluisteren.

Onderaan de configuratie geven we het IP-adres van de server op waar onze website lokaal wordt gehost met proxy_pass .

Met de parameter proxy_redirect leiden we aanvragen die via poort 80, dat wil zeggen HTTP komen, om naar de HTTPS protocol dat veilig is en werkt met een SSL-certificaat.

4. Herstart de Nginx-service

Ja, als u alles correct hebt gedaan, is het enige wat nog resteert, uw Nginx-service opnieuw op te starten en toegang te krijgen tot uw website voor uw plezier :)

Met de onderstaande opdracht kunt u controleren of er fouten zijn in uw configuraties.

nginx -t

Voer vervolgens de volgende opdracht uit om de Nginx-service opnieuw te laden, zodat de configuratiewijzigingen actief worden.

/etc/init.d/nginx reload

Als de Nginx-service succesvol opnieuw is geladen, betekent dit dat uw website klaar is voor toegang met het SSL-certificaat.

Frequently Asked Questions

Wat is NetGateway?

NetGateway is een door Plusclouds ontwikkeld service die kan fungeren als Linux-gebaseerde router en load balancer. Het biedt functies om een lokale infrastructuur te verbinden en verkeer te routeren.

Wat is Nginx en waarom gebruiken we het voor proxy doorverwijzing?

Nginx is een webserver met focus op hoge gelijktijdige verwerkingscapaciteit, hoge prestaties en laag geheugengebruik. In dit artikel wordt Nginx gebruikt voor proxy doorverwijzing zodat de website via zowel lokale als openbare verbindingen bereikbaar kan zijn.

Hoe installeer ik Nginx op de NetGateway virtuele machine?

Log eerst in op de NetGateway-VM die als router fungeert en voer de installatie van Nginx uit. Nginx is standaard beschikbaar in apt-repositories; voer apt -y install nginx uit.

Hoe maak ik een CSR voor SSL-certificaat aan?

Maak met OpenSSL een CSR-bestand en bijpassende sleutel aan. Nadat het proces is voltooid, zijn er twee bestanden met de namen example.com.csr en example.com.key.

Hoe laat ik mijn CSR ondertekenen en waar zet ik het PEM-bestand?

Laat het CSR-bestand ondertekenen door de hostingdienst en kopieer vervolgens het ontvangen PEM-bestand naar de NetGateway-machine. Hiermee kun je het certificaat gebruiken in de Nginx-configuratie.

Hoe pas ik de Nginx-configuratie aan voor proxy doorverwijzing?

Maak een configuratiebestand aan in sites-enabled voor example.com met twee server-blokken: één op poort 80 die verzoeken doorstuurt en één op poort 443 met SSL-gegevens en proxy_pass naar de interne server (bijv. http://10.0.10.27:80). Zorg ook voor de passende proxy_headers en proxy_redirect instellingen.

Hoe controleer ik de configuratie en laad ik Nginx opnieuw?

Controleer de configuratie met nginx -t. Als de test slaagt, laad de Nginx-service opnieuw met /etc/init.d/nginx reload.

Wat is het verwachte resultaat nadat alles is ingesteld?

Wanneer de Nginx-service succesvol opnieuw is geladen, is de website klaar voor toegang met het SSL-certificaat en kun je via https verbinding maken met je domein.