Apache HTTP er stadig markedsledende på en webserver, der bruges af øverste million travleste steder.
Du kan se, at Nginx samler sig gradvist, så hvis du er i system / web / middleware-administration; så lærte du begge Apache at kende & Nginx webservere.
I denne artikel vil jeg dog kun dække Apache Web Server.
Når SSL er implementeret, er det konfigurerede domæne / IP tilgængeligt via HTTPS. Lad os få det i gang.
På højt niveau vil vi gøre følgende.
- Kompiler Apache HTTP 2.4.5 med SSL-modul
- Få SSL-certifikat
- Konfigurer Apache til at understøtte SSL
Installer Apache med SSL fra Source
For at konfigurere SSL skal Apache HTTP kompileres med mod_ssl. Jeg bruger CentOS 7 VM fra Digital Ocean for at demonstrere dette.
- Log ind på Linux-server med root og download den nyeste version af Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
- Uddrag ved hjælp af pistol-kommando
gunzip -c httpd-2.4.25.tar.gz | tjære xvf –
- Du får en ny mappe “httpd-2.4.25”
- Gå ind og udfør følgende konfigureringskommando
./ configure –enable-ssl –-able-so
Bemærk: Hvis du gør dette er på en splinterny server, kan du opleve problemer relateret til APR, PCRE, OpenSSL og du kan henvise til fejlfindingsguiden.
Sørg for, at du ikke får nogen fejl ovenfra konfigurere kommandoen, og næste skal du installere med kommandoer foretag.
lave
gøre installation
Som normalt skal du sikre dig, at der ikke er fejl fra ovenstående kommandoer. Dette konkluderer, at du har installeret Apache webserver med SSL support.
Få SSL-certifikat
Der er flere måder at generere og få SSL-certifikatet underskrevet af certifikatmyndigheden.
Hvis du søger at implementere SSL i Intranet-webserver, har det meste af organisationen et internt certifikatudstederteam, så du skal tjekke med dem.
Men du skal stadig generere en CSR (Certificate Signing Request), og du kan gøre det ved hjælp af OpenSSL.
Men hvis du ønsker at sikre Internet-vendt URL så kan du enten købe et certifikat fra VeriSign, GoDaddy, NameCheap, osv. eller få et GRATIS certifikat fra Let’s Encrypt.
Let’s Encrypt er et Linux Foundation-samarbejdsprojekt, der tilbyder GRATIS SSL / TLS-certifikat. Jeg vil bruge Let’s Encrypt til at få et certifikat til mit domæne – Chandan.io
Der er flere måder at generere CSR på, men nemmeste en jeg fandt bruger “SSL GRATIS”Online værktøj.
Indtast den URL, du vil sikre
Bekræft domæneejerskabet på en af de anførte metoder, og download dine domænecertificeringsfiler.
Du får tre filer, som vi vil bruge ved siden af at konfigurere Apache-webserveren.
- nøgle – dette er din nøglefil og bør ikke deles offentligt med nogen
- Certifikat – faktisk SSL-certifikat for dit domæne
- Ca_bundle – Signerrot / mellemliggende certifikat
Overfør den downloadede fil til webserveren. Vi har brug for dem snart.
Apache SSL-konfiguration
Og et sidste skridt ville være at konfigurere Apache, så det kan tjene anmodningen via HTTPS.
- Log ind på Apache webserveren
- Tag en sikkerhedskopi af filen httpd.conf (standard placering / usr / local / apache2 / conf /)
- Åbn filen med vi-editoren, og sørg for mod_ssl-modulet & httpd-ssl.conf findes og kommenteres ikke
LoadModule ssl_module modules / mod_ssl.so
Medtag conf / extra / httpd-ssl.conf
Vi bruger httpd-ssl.conf fil til konfiguration af certifikatdetaljer. Følgende følger du for at sikre, at det findes de rigtige parametre.
- SSLCertificateFile – Certifikat CRT-filsti, som du har downloadet tidligere
- SSLCertificateKeyFile – privat.a nøglefilsti
- SSLCertificateChainFile – ca_bundle.crt filsti
Tip: Du ønsker måske at oprette en ny mappe kaldet “ssl” og opbevare alle certifikatrelaterede filer i denne.
- Tag en sikkerhedskopi om nødvendigt, og brug vi-editor til at ændre filen.
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"
Derefter skal du konfigurere “Server navn”Direktiv. Normalt er det dit domæne / URL-navn
Servernavn chandan.io
- Gem filen, og genstart Apache-webserveren
cd / usr / local / apache2 / bin
./ apachectl stop
./ apachectl start
Og til sidst skal du sikre dig, at dit domæne er kortlagt til den nyligt konfigurerede webserver IP. Når det er gjort, kan du prøve at få adgang til dit domæne med https.
Og som du kan se, er Chandan.io det tilgængelig via https med det certifikat, jeg konfigurerede.
Ovenstående trin er vigtige for opsætning af SSL-certifikat, og du skal justere SSL’en yderligere for at hærde og sikre, som jeg forklarede her.
Før du går i live, kan du muligvis også teste din webserver SSL / TLS for at sikre, at den ikke udsættes for almindelige sikkerhedssårbarheder.
Jeg håber, at dette giver dig en idé om, hvordan du implementerer SSL-certifikat på din Apache-webserver, så URL er tilgængelig via HTTPS.
Hvis du er ny med Apache webserver, vil jeg anbefale at tage dette online kursus.