mod_ssl modul poskytuje podporu SSL v3 a TLS v1.x pro Apache HTTP Server. Tento článek vám poskytuje základní krok za krokem mod_ssl konfigurace na serveru RHEL 8 / CentOS 8 Linux s httpd webový server Apache.
V tomto tutoriálu se naučíte:
- Jak nainstalovat
mod_ssl - Jak povolit
mod_ssl - Jak vytvořit certifikát s vlastním podpisem
- Jak zahrnout stávající certifikát SSL do
httpdkonfigurace - Jak přesměrovat veškerý provoz HTTP bez protokolu SSL na HTTPS
Základní mod_ssl konfigurace modulu na RHEL 8 / CentOS 8 s webovým serverem Apache Požadavky na software a použité konvence
| Kategorie | Požadavky, konvence nebo použitá verze softwaru |
|---|---|
| Systém | RHEL 8 / CentOS 8 |
| Software | mod_ssl-2.4.35-6.el8 |
| Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
| Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak nainstalovat mod_ssl na RHEL 8 / CentOS 8 pokyny krok za krokem
Tento článek předpokládá, že jste již provedli základní instalaci a konfiguraci webového serveru Apache na vašem serveru RHEL 8 / CentOS 8.
- Nainstalujte
mod_sslmodule. Prvním krokem je instalacemod_sslmodul pomocídnfpříkaz:# dnf install mod_ssl
- Povolte
mod_sslmodul. V případě, že jste právě nainstalovalimod_ssl, modul možná ještě není povolen. Chcete-li otestovat, zdamod_sslje povoleno spouštět:# apachectl -M | grep ssl
V případě, že nevidíte žádný výstup z výše uvedeného příkazu, váš
mod_sslnení povoleno. Chcete-li povolitmod_sslrestartujte modulhttpdWebový server Apache:# systemctl restart httpd # apachectl -M | grep ssl ssl_module (shared)
- Otevřete port TCP 443, abyste povolili příchozí provoz s
httpsprotokol:# firewall-cmd --zone=public --permanent --add-service=https success # firewall-cmd --reload success
POZNÁMKA
V tuto chvíli byste měli mít přístup k webovému serveru Apache přes protokol HTTPS. Přejděte v prohlížeči nahttps://your-server-ipnebohttps://your-server-hostnamepro potvrzenímod_sslkonfigurace. - Vygenerujte certifikát SSL. V případě, že ještě nevlastníte správné certifikáty SSL pro váš server, použijte níže uvedený příkaz k vygenerování nového certifikátu s vlastním podpisem.
Například vygenerujme nový certifikát s vlastním podpisem pro hostitele
rhel8s uplynutím 365 dnů:# openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt Generating a RSA private key ................+++++ ..........+++++ writing new private key to '/etc/pki/tls/private/httpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:AU State or Province Name (full name) []: Locality Name (eg, city) [Default City]: Organization Name (eg, company) [Default Company Ltd]:LinuxConfig.org Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:rhel8 Email Address []:
Po úspěšném provedení výše uvedeného příkazu budou vytvořeny následující dva soubory SSL:
# ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt -rw-r--r--. 1 root root 1269 Jan 29 16:05 /etc/pki/tls/certs/httpd.crt -rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key
- Nakonfigurujte webový server Apache pomocí nových certifikátů SSL. Chcete-li zahrnout nově vytvořený certifikát SSL do konfigurace webového serveru Apache, otevřete
/etc/httpd/conf.d/ssl.confsoubor s oprávněními správce a změňte následující řádky:FROM: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key TO: SSLCertificateFile /etc/pki/tls/certs/httpd.crt SSLCertificateKeyFile /etc/pki/tls/private/httpd.key
Jakmile budete připraveni, znovu načtěte
httpdWebový server Apache:# systemctl reload httpd
- Otestujte svůj
mod_sslkonfiguraci přejděte ve webovém prohlížeči nahttps://your-server-ipnebohttps://your-server-hostnameURL. - Jako volitelný krok přesměrujte veškerý provoz HTTP na HTTPS.T vytvořte nový soubor
/etc/httpd/conf.d/redirect_http.confs následujícím obsahem:<VirtualHost _default_:80> Servername rhel8 Redirect permanent / https://rhel8/ </VirtualHost>Chcete-li použít změnu, znovu načtěte
httpddémon:# systemctl reload httpd
Výše uvedená konfigurace přesměruje veškerý příchozí provoz z
http://rhel8nahttps://rhel8URL. Další informace o konfiguraci TLS/SSL na serveru RHEL Linux naleznete v naší příručce Jak nastavit SSL/TLS pomocí Apache httpd v příručce Red Hat.