Apache2 : Configure SSL/TLS2024/05/17 |
Configure SSL/TLS setting to use secure encrypt HTTPS connection. |
|
[1] | |
[2] | Enable SSL/TLS settings. |
root@www:~#
vi /etc/apache2/sites-available/default-ssl.conf # line 2 : change admin email ServerAdmin webmaster@srv.world
# line 31, 32 : change to the certs gotten in section [1] SSLCertificateFile /etc/letsencrypt/live/www.srv.world/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.srv.world/privkey.pem # line 41 : uncomment and change to the chain-file gotten in section [1]
SSLCertificateChainFile /etc/letsencrypt/live/www.srv.world/chain.pem
root@www:~# a2ensite default-ssl Enabling site default-ssl. To activate the new configuration, you need to run: systemctl reload apache2root@www:~# a2enmod ssl Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2root@www:~# systemctl restart apache2 |
[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/apache2/sites-available/virtual.host.conf
<VirtualHost *:80>
DocumentRoot /var/www/virtual.host
ServerName www.virtual.host
ServerAdmin webmaster@virtual.host
ErrorLog /var/log/apache2/virtual.host.error.log
CustomLog /var/log/apache2/virtual.host.access.log combined
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
root@www:~# a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2root@www:~# systemctl restart apache2 |
[4] | Verify to access to the test page from any client computer with Web browser via HTTPS. |
Sponsored Link |