V dnešním příspěvku se dozvíte, jak nastavit virtuálního hostitele pod Apachem tak, aby komunikoval zabezpečeně (HTTPS).
Předpokládám, že máte funkční konfiguraci virtuálních hostitelů. V Ubuntu se konfigurační soubory pro Apache nachází v adresáři /etc/apache2/sites-available/ , tam také odkazují weby, které máte povolené v /etc/apache2/sites-enabled .
Musíte také mít připravený certifikát a jeho privátní klíč. Jak vygenerovat důvěryhodný certifikát se můžete dočíst v článku Získání důvěryhodného SSL certifikátu .
Otevřete konfigurační soubor virtuálního hostitele, pro kterého chcete přidat podporu HTTPS. S oblibou používám editor vim, vy můžete použít samozřejmě váš oblíbený editor:
vi /etc/apache2/sites-available/mujhost.conf
Nezabezpečené HTTP chceme přesměrovat na HTTPS, aby návštěvníci nemuseli před adresu zadávat https, ale komunikovali vždy zabezpečeně. Výsledný konfigurační soubor vypadá takto – všimněte si rozdílných portů:
<VirtualHost *:80> ServerName web.cesal.cz ServerAlias mujweb.cesal.cz Redirect permanent / https://web.cesal.cz/ </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile "/etc/postfix/ssl/mycert.crt" SSLCertificateKeyFile "/etc/postfix/ssl/mycert.key" SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateChainFile /etc/postfix/ssl/sub.class1.server.ca.pem ServerName web.cesal.cz DocumentRoot /weby/mujweb <Directory /weby/mujweb> Options -Indexes +FollowSymLinks -SymLinksIfOwnerMatch +MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
Nejdůležitější jsou tři zvýrazněné řádky začínající SSL. Certifikát (mycert.crt) i jeho privátní klíč (mycert.key) jsou umístěny v /etc/postfix/ssl/ (protože je využívám pro zabezpečení mailového serveru, které používá stejný DNS název web.cesal.cz). Musíte také stáhnout soubor sub.class1.server.ca.pem z certifikační autority a umístit ho do zadané složky.
Aby Apache mohl používat SSL, musíte povolit příslušný modul a restartovat Apache2:
sudo a2enmod ssl service apache2 restart
Hotovo. Od teď bude každý návštěvník, který přijde na web.cesal.cz přesměrován na https://web.cesal.cz/ a bude komunikovat zabezpečeně.