U heeft al een werkende website, maar u wilt uw omgeving verplaatsen, lokaal netwerk opgezet, NetGateway (Hier komen we zo op terug.) geïnstalleerd en uw virtuele machines in uw lokale netwerk opgezet, tenslotte heeft u uw webserver geconfigureerd en uw site opgestart, maar wat is dat? U probeert toegang te krijgen tot uw website, maar het lukt niet. Terwijl u nadenkt over de reden, komt u op het idee dat uw website lokaal netwerk draait. Hoe kunnen we dit probleem oplossen? Ja, u denkt goed, het antwoord is absoluut Nginx :)
Wat is NetGateway?
NetGateway is een service die %100 door Plusclouds is ontwikkeld en kan de functies van een Linux op basis router en load balancer vervullen.
Wat is Nginx?
Nginx is een webserver die is ontworpen met een hoge gelijktijdige verwerkingscapaciteit, hoge prestaties en laag geheugenverbruik. Het kan ook worden gebruikt als reverse proxy , load balancer en HTTP-cache .
In dit artikel zullen we de Nginx service gebruiken voor proxy routing . Hierdoor zal uw website toegankelijk zijn vanuit alle publieke verbindingen, niet alleen lokaal.
1. Log in op uw NetGateway virtuele machine die als router fungeert en voer de Nginx installatie uit
Nginx is standaard beschikbaar in de 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 ondertekenen door de hosting
Voer de onderstaande opdracht uit in de terminal met de vereiste rechten 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 om de domeinnamen door uw eigen domeinnamen te vervangen!
Nadat u uw bedrijfs- en domeingegevens heeft ingevoerd, zult u zien dat er twee bestanden zijn aangemaakt in uw huidige map: example.com.csr en example.com.key .
3. Onderteken uw CSR-bestand
Laat het nieuw aangemaakte CSR-bestand ondertekenen door uw hosting, en breng vervolgens het .pem bestand dat u ontvangt over naar uw NetGateway machine.
4. Pas de Nginx-configuratie aan
Ga eerst naar de onderstaande map
cd /etc/nginx
Gebruik vervolgens de ls opdracht om de submappen en bestanden weer te geven. U zult twee mappen 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 in de map en maak het configuratiebestand aan met de onderstaande opdrachten
cd sites-enablednano example.com.conf
Nadat u het configuratiebestand heeft aangemaakt, kopieer en plak de onderstaande inhoud. Vergeet niet om de domeinnaam Example.com en het webserver IP-adres door uw eigen gegevens te vervangen.
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 eerste deel van de configuratie geven we aan dat de Nginx service moet luisteren naar verzoeken op poort 80 voor het domein example.com .
In het tweede deel configureren we het om naar poort 443, oftewel HTTPS te luisteren.
In het laagste deel van de configuratie geven we het IP-adres op van de server waar onze website lokaal wordt gehost via proxy_pass .
Met de parameter proxy_redirect leiden we verzoeken die via poort 80, dat wil zeggen HTTP , binnenkomen om naar het veiligere protocol, het SSL-certificaat, dat werkt met HTTPS .
4. Herlaad de Nginx Service
Als u alles goed heeft gedaan, blijft er nog maar één ding over: start uw Nginx service opnieuw en geniet van uw website :)
U kunt controleren of er fouten in uw configuraties zijn met de onderstaande opdracht.
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 met succes is herladen, betekent dit dat uw website klaar is voor toegang met een SSL-certificaat.



