Instalace multidoménového UC/SAN SSL certifikátu na Apache (mod_rewrite)

Poznámka: O instalaci podepsaného SSL certifikátu můžete požádat Vašeho poskytovatele hostingových služeb.

Instalace Multidoménového UCC SAN SSL certifikátu na Apache web server

Výhody tohoto řešení:

Co je potřeba:

TIP: Toto řešení lze použít i pro instalaci Wildcard SSL certifikátu.

V tomto příkladu budeme pracovat s UC/SAN certifikátem vystaveným pro 6 domén:

  • www.ssls.cz  
  • ssls.cz  
  • www.alpiro.cz  
  • alpiro.cz  
  • www.alpiro.eu  
  • alpiro.eu

přičemž:

  • UC/SAN SSL certifikát máme uložený v souboru server.cer,
  • privátní klíč v souboru private.key,
  • a intermediate certifikát podepisující certifikační autority (CA) v souboru intermediate.cer.

Příklad nastavení Apache Virtual Host bez SSL

Takto může vypadat velice jednoduché nastavení Virtual Host záznamů pro domény před instalací SSL certifikátu. Standardně toto nastavení najdete v souborech umístěných v adresáři /etc/apache2/sites-available/ (Linux) nebo v souboru httpd.conf.

      <VirtualHost 1.2.3.4:80>
          ServerName www.ssls.cz
          ServerAlias ssls.cz
          DocumentRoot /var/www/ssls.cz
      </VirtualHost>
      <VirtualHost 1.2.3.4:80>
          ServerName www.alpiro.cz
          ServerAlias alpiro.cz
          DocumentRoot /var/www/alpiro.cz
      </VirtualHost>
      <VirtualHost 1.2.3.4:80>
          ServerName www.alpiro.eu
          ServerAlias alpiro.eu
          DocumentRoot /var/www/alpiro.eu
      </VirtualHost>

Příklad nastavení Apache (IP based Virtual Host)

Abychom mohli k webovým stránkám přistoupit pomocí zabezpečeného SSL protokolu přes https://, přidáme další záznam, viz. níže.

Všimněte si, že jsme všechny tři VirtualHosty "sloučili" do jednoho a směrování domén do příslušných adresářů provedli pomocí mod_rewrite namísto direktivy DocumentRoot. Kdybychom pro každou doménu vytvořili vlastní VirtualHost, museli bychom pro každý z nich vyčlenit vlastní IP adresu. Takto je všechny máme pod jedním VirtualHostem s jedinou IP adresou.

      <VirtualHost 1.2.3.4:443>
          ServerName www.ssls.cz # Common Name (CN)
          ServerAlias ssls.cz alpiro.cz alpiro.eu www.alpiro.cz www.alpiro.eu # přídavné SAN domény
          DocumentRoot /var/www/ssls.cz # Nasměrování do adresářů provedeme níže pomocí mod_rewrite!
          SSLEngine on
          SSLProtocol all -SSLv3 -SSLv2
          SSLCertificateFile /cesta/k/server.cer # Cesta k UC/SAN certifikátu
          SSLCACertificateFile /cesta/k/intermediate.cer # Cesta k intermediate CA certifikátu
          SSLCertificateKeyFile /cesta/k/private.key # Cesta k privátnímu klíči
          # Aktivujeme mod_rewrite :
          RewriteEngine on
          # Nastavení pro doménu ssls.cz a www.ssls.cz :
          RewriteCond %{HTTP_HOST} ^(www\.)?ssls\.cz
          RewriteCond %{REQUEST_URI} !^/var/www/ssls.cz
          RewriteRule ^(.*) /var/www/ssls.cz/$1
          # Nastavení pro doménu alpiro.cz a www.alpiro.cz :
          RewriteCond %{HTTP_HOST} ^(www\.)?alpiro\.cz
          RewriteCond %{REQUEST_URI} !^/var/www/alpiro.cz
          RewriteRule ^(.*) /var/www/alpiro.cz/$1
          # Nastavení pro doménu alpiro.eu a www.alpiro.eu :
          RewriteCond %{HTTP_HOST} ^(www\.)?alpiro\.eu
          RewriteCond %{REQUEST_URI} !^/var/www/alpiro.eu
          RewriteRule ^(.*) /var/www/alpiro.eu/$1
      </VirtualHost>

Nezapomeňte uvést správnou veřejnou IP adresu, v našem případě jsme použili 1.2.3.4:443 (443 je standardní číslo portu pro službu WWW s SSL zabezpečením). Předpokládá se, že A záznamy příslušných domén mají v DNS nastavenou IP adresu 1.2.3.4.

Důležité: Bez instalace intermediate certifikátu se budou uživateli v prohlížeči zobrazovat varování o nedůvěryhodném SSL certifikátu. Je nutné nainstalovat správný intermediate certifikát pro konkrétní SSL certifikát.

Po instalaci SSL certifikátu důrazně doporučujeme ověřit si, že server klientům odesílá intermediate certifikáty ve správném pořadí. To můžete snadno ověřit pomocí nástroje SSL Tester.

Přesměrování HTTP na HTTPS

Protože není žádoucí provozovat web zároveň na zabezpečeném i nezabezpečeném protokolu, je nutné přesměrovat veškerý provoz z HTTP na HTTPS. Ke každému nezabezpečenému VirtualHostu tedy přidáme:

      RewriteEngine On
      RewriteCond %{HTTPS} != on
      RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

a rovnou odstraníme direktivu DocumentRoot, která přesměrováním na zabezpečený protokol HTTPS ztrácí svůj smysl. Zároveň můžeme všechny tyto VirtualHosty sloučit do jednoho. V našem případě tedy budou naše původní nezabezpečené VirtualHost vypadat takto:

      <VirtualHost 1.2.3.4:80>
          ServerName www.ssls.cz
          ServerAlias ssls.cz www.alpiro.cz alpiro.cz www.alpiro.eu alpiro.eu
          DocumentRoot /var/www/ssls.cz
          RewriteEngine On
           RewriteCond %{HTTPS} != on
           RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
      </VirtualHost>

Ve finále bude náš soubor s VirtualHosty na jediné IP adrese vypadat takto:

      <VirtualHost 1.2.3.4:80>
          ServerName www.ssls.cz
          ServerAlias ssls.cz www.alpiro.cz alpiro.cz www.alpiro.eu alpiro.eu
          RewriteEngine On
          RewriteCond %{HTTPS} != on
          RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
      </VirtualHost>
      <VirtualHost 1.2.3.4:443>
          ServerName www.ssls.cz
          ServerAlias ssls.cz www.alpiro.cz alpiro.cz www.alpiro.eu alpiro.eu
          SSLEngine on
          SSLProtocol all -SSLv3 -SSLv2
          SSLCertificateFile /cesta/k/server.cer
          SSLCACertificateFile /cesta/k/intermediate.cer
          SSLCertificateKeyFile /cesta/k/private.key
          RewriteEngine on
          RewriteCond %{HTTP_HOST} ^(www\.)?ssls\.cz
          RewriteCond %{REQUEST_URI} !^/var/www/ssls.cz
          RewriteRule ^(.*) /var/www/ssls.cz/$1
          RewriteCond %{HTTP_HOST} ^(www\.)?alpiro\.cz
          RewriteCond %{REQUEST_URI} !^/var/www/alpiro.cz
          RewriteRule ^(.*) /var/www/alpiro.cz/$1
          RewriteCond %{HTTP_HOST} ^(www\.)?alpiro\.eu
          RewriteCond %{REQUEST_URI} !^/var/www/alpiro.eu
          RewriteRule ^(.*) /var/www/alpiro.eu/$1
      </VirtualHost>

Restartujte webový server

      $ /etc/init.d/apache2 restart
    

anebo:

      $ apache2ctl stop
      $ apache2ctl start
    

Kontrola nastavení

Pokud Apache po restartu nehlásí žádná varování týkající se SSL, pak by mělo být vše v pořádku. Pro jistotu můžete ověřit nastavení všech VirtualHostů příkazem apache2ctl -S a následně jednoduše vyzkoušet přistoupit na URL adresu zabezpečené domény přímo z webového prohlížeče.

SSL certifikát — 169 Kč

Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.

Zelený adresní řádek

Nepřehlédnutelný indikátor důvěryhodného webu, díky kterému zvýšíte konverze a zisky.

Multidoménové UC/SAN

Skonsolidujte všechny Vaše SSL certifikáty do jednoho multidoménového SSL certifikátu!

Uživatel SSL Přihlášení

Zavřít

Uživatel SSL Nový zákazník

Zavřít
Zavřít
Zavřít
Doporučené SSL certifikáty
Zavřít
Máte dotaz?
Napište nám
Nenašli jste řešení na stránce Podpora a Nejčastější dotazy?
Jméno a příjmení: E-mail:
Odesílám…Odeslat
Tato stránka používá soubory cookies. více informací
Souhlasím