CentOS Stream 9
Sponsored Link

Apache httpd : Configure SSL/TLS2022/03/16

 
Configure SSL/TLS setting to use secure encrypt HTTPS connection.
[1]
Get SSL certificate.
On this example, it uses the certificate from Let's enctypt.
[2] Enable SSL/TLS settings.
[root@www ~]#
dnf -y install mod_ssl
[root@www ~]#
vi /etc/httpd/conf.d/ssl.conf
# line 43 : uncomment

DocumentRoot "/var/www/html"
# line 44 : uncomment and specify hostname

ServerName
www.srv.world:443
# line 85 : change to the one got in [1]

SSLCertificateFile
/etc/letsencrypt/live/www.srv.world/cert.pem
# line 93 : change to the one got in [1]

SSLCertificateKeyFile
/etc/letsencrypt/live/www.srv.world/privkey.pem
# line 102 : change to the one got in [1]

SSLCertificateChainFile
/etc/letsencrypt/live/www.srv.world/chain.pem
[root@www ~]#
systemctl restart httpd

[3] If you'd like to set HTTP connection to redirect to HTTPS (Always on SSL/TLS), Set RewriteRule to each Host settings.
For example, if you set Virtual Hostings like the link here, Add RewriteRule like follows. Or It's possible to set RewriteRule in [.htaccess] not in [httpd.conf].
[root@www ~]#
vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerName www.srv.world
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

[root@www ~]#
systemctl reload httpd

[4] If Firewalld is running, allow HTTPS service. HTTPS uses 443/TCP.
[root@www ~]#
firewall-cmd --add-service=https

success
[root@www ~]#
firewall-cmd --runtime-to-permanent

success
[5] Verify to access to the test page from any client computer with Web browser via HTTPS.
Matched Content