APACHE - sdílený SSL na jedné IP adrese
Jak je zname tak na jedne IP adrese a portu 443 (192.168.1.1:443) lze provozovat pouze jeden plnohodnotny SSL certifikat vydany jen pro jednu domenu (neplati pro mnohonasobny certifikat pro vice domen, ktery ovsem stoji nekrestanske penize)
Proto muzeme vyuzit tzv. sdileneho certifikatu. Toto reseni samodrejme muzeme vyuzit jen pro sifrovane spojeni mezi webovym prohlizecem a serverem. Certifikat nam tedy nezaruci pravost serveru na kterem bezi webova aplikace, ale pokud chceme uchranit nase hesla, aby po siti nebehala v nezakodovanem tvaru, tak je sdileny certifikat velmi prijatelnou variantou.
1. budeme potrebovat si vytvoril vlastni certifikat.
Toto muzete provest pomoci meho navodu na
APACHE - SSL, nastaveni, vytvoreni certifikatuTakto vytvoreny certifikat dame nekde do adresare. napr ja ho mam v adresari
/apache2/conf/ssl/
2. Pocitam ze jiz mate nakonfigurovany httpd.conf na pouziti SSL pokud ne tak je ho potreba nastavit. Ja ho mam napr. takto:
<IfDefine SSL>
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache dbm:/apache2/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/apache2/logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
##
## SSL Virtual Host Context
##
NameVirtualHost 192.168.1.1:443
</IfDefine>
3. Zde by mel apache jiz fungoval jako SSL a poslouchat na portu 443. Overit se to napr pomoci prokazu nmap.
nmap 192.168.1.1
4. A ted jiz prejdeme k samostatne konfiguraci 2 virtualhostu se sdilenym SSL
Konfugurace bude vypadat asi nasledovne kde kazdy virtualhost bude mit stejny certifikat
# www.domena1.cz - SSL
<VirtualHost 192.168.1.1:443>
ServerName www.domena1.cz:443
DocumentRoot /home/domena1
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateKeyFile /apache2/conf/ssl/www.domena1.cz.key
SSLCertificateFile /apache2/conf/ssl/www.domena1.cz.crt
</VirtualHost>
# www.domena2.cz - SSL
<VirtualHost 192.168.1.1:443>
UseCanonicalName Off
ServerName www.domena2.cz:443
ServerAlias domena2.cz
DocumentRoot /home/domena2
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateKeyFile /apache2/conf/ssl/www.domena1.cz.key
SSLCertificateFile /apache2/conf/ssl/www.domena1.cz.crt
</VirtualHost>
A to je pratele vse po restartu apache by to jiz melo fungovat. Pokud se pripojim na prvni domenu tak vse probehne v poradku a nezahlasi zadnou kolizi v certifikatu a spojenu bude probihat siforvane.
U druhe domeny po pripojeni zahlasi kolizi v certifikatu s tim, ze certifikat patri 1 domene. Po odkliknuti tohoto hlaseni nam jiz bude cela komunikace probihat sifrovane a o to nam preci slo :)
« Zpět na seznam