Apache HTTP is nog steeds een marktleider in een webserver die wordt gebruikt door top miljoen drukste sites.
U kunt zien dat Nginx geleidelijk aan het oppakken is, dus als u van systeem- / web- / middlewarebeheer houdt; dan heb je beide Apache leren kennen & Nginx-webservers.
In dit artikel behandel ik echter alleen Apache Web Server.
Zodra SSL is geïmplementeerd, is het geconfigureerde domein / IP toegankelijk via HTTPS. Laten we beginnen.
Op hoog niveau doen we het volgende.
- Compileer Apache HTTP 2.4.5 met SSL-module
- Ontvang SSL-certificaat
- Configureer Apache om SSL te ondersteunen
Contents
Installeer Apache met SSL vanaf de bron
Om SSL te configureren, moet Apache HTTP worden gecompileerd met mod_ssl. Ik gebruik CentOS 7 VM van Digital Ocean om dit te demonstreren.
- Log in op de Linux-server met root en download de nieuwste versie van Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
- Extraheer met gunzip-opdracht
gunzip -c httpd-2.4.25.tar.gz | tar xvf –
- Je krijgt een nieuwe map “httpd-2.4.25“
- Ga naar binnen en voer de volgende configuratieopdracht uit
./ configure –enable-ssl –-enable-so
Notitie: Als u dit doet op een geheel nieuwe server, kunt u problemen ondervinden met betrekking tot APR, PCRE, OpenSSL en kunt u de gids voor probleemoplossing raadplegen.
Zorg ervoor dat u geen foutmelding krijgt van de bovenstaande opdracht configureren en dat u vervolgens moet installeren met make-opdrachten.
maken
maak installeren
Zorg zoals gewoonlijk voor geen fouten van bovenstaande opdrachten. Dit concludeert dat je hebt geïnstalleerd Apache-webserver met SSL-ondersteuning.
SSL-certificaat verkrijgen
Er zijn meerdere manieren om het SSL-certificaat te genereren en te laten ondertekenen door de certificeringsinstantie.
Als u SSL wilt implementeren in de intranet-webserver, heeft het grootste deel van de organisatie een intern team van certificaatuitgevers, dus u moet contact met hen opnemen.
Maar u moet nog steeds een CSR (Certificate Signing Request) genereren en u kunt dit doen met OpenSSL.
Als u echter op zoek bent naar beveiliging Internetgerichte URL dan kunt u ofwel een certificaat kopen bij VeriSign, GoDaddy, Namecheap, etc. of ontvang een GRATIS certificaat van Let’s Encrypt.
Let’s Encrypt is een Linux Foundation Collaboration Project dat aanbiedt GRATIS SSL / TLS-certificaat. Ik gebruik Let’s Encrypt om één certificaat voor mijn domein te krijgen: Chandan.io
Er zijn meerdere manieren om CSR te genereren, maar gemakkelijkst een die ik heb gevonden, gebruikt ‘SSL GRATIS”Online tool.
Voer de URL in die u wilt beveiligen
Controleer het domeineigendom via een van de vermelde methoden en download uw domeincertificaatbestanden.
U krijgt drie bestanden die we vervolgens zullen gebruiken om de Apache-webserver te configureren.
- sleutel – dit is uw sleutelbestand en mag met niemand openbaar worden gedeeld
- Certificaat – echt SSL-certificaat voor uw domein
- Ca_bundle – Ondertekenaar root / tussenliggend certificaat
Breng het gedownloade bestand over naar de webserver. We hebben ze binnenkort nodig.
Apache SSL-configuratie
En een laatste stap zou zijn om Apache te configureren zodat het het verzoek via HTTPS kan bedienen.
- Log in op de Apache-webserver
- Maak een back-up van het httpd.conf-bestand (standaardlocatie / usr / local / apache2 / conf /)
- Open het bestand met de vi-editor en zorg ervoor dat de module mod_ssl & httpd-ssl.conf bestaat en er is geen commentaar op gegeven
LoadModule ssl_module modules / mod_ssl.so
Neem conf / extra / httpd-ssl.conf op
We zullen gebruiken httpd-ssl.conf bestand om de certificaatdetails te configureren. Er zijn volgende die u nodig hebt om ervoor te zorgen dat deze de juiste parameters bevat.
- SSLCertificateFile – Certificaat CRT-bestandspad dat u eerder hebt gedownload
- SSLCertificateKeyFile – privé. Een sleutelbestandspad
- SSLCertificateChainFile – ca_bundle.crt bestandspad
Tip: misschien wilt u een nieuwe map met de naam “ssl” maken en daarin alle certificaatgerelateerde bestanden bewaren.
- Maak indien nodig een back-up en gebruik de vi-editor om het bestand te wijzigen.
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"
Vervolgens moet u de “configurerenServer naam”Richtlijn. Meestal is dit uw domein / URL-naam
Servernaam chandan.io
- Sla het bestand op en start de Apache-webserver opnieuw op
cd / usr / local / apache2 / bin
./ apachectl stoppen
./ apachectl starten
En tot slot moet u ervoor zorgen dat uw domein wordt toegewezen aan de nieuw geconfigureerde webserver-IP. Als je klaar bent, probeer je toegang tot je domein te krijgen met https.
En zoals je kunt zien, is Chandan.io dat toegankelijk via https met het certificaat dat ik heb geconfigureerd.
De bovenstaande stappen zijn essentieel voor het instellen van een SSL-certificaat en u moet de SSL verder aanpassen om te verharden en te beveiligen, wat ik hier heb uitgelegd.
Voordat u live gaat, wilt u misschien ook uw webserver SSL / TLS testen om er zeker van te zijn dat deze niet wordt blootgesteld aan veelvoorkomende beveiligingsproblemen.
Ik hoop dat dit u een idee geeft hoe u een SSL-certificaat op uw Apache-webserver kunt implementeren, zodat de URL toegankelijk is via HTTPS.
Als je nieuw bent bij de Apache-webserver, zou ik aanraden dit te nemen online cursus.