K čemu je vlastně HTTPS a SSL certifikát?
Lidsky řečeno SSL certifikát, jeho klíč a certifikační autorita jsou prostředky, které jednak zamezí podvržení stránky, a navíc aktivita mezi vaším zařízením a serverem zůstane jen mezi vámi. (komunikace je šifrovaná). Je jasné, že takové opatření mají rádi i vyhledávače.
Více o certifikátech obecně naleznete zde
Známý a velmi populární certifikát Let`s Encrypt je zdarma. Váš Hosting ale nabízí i klasické certifikáty.
Než se pustíme do práce, je třeba nejprve certifikát aktivovat.
Jak aktivovat certifikát pro hosting?
V Zákaznickém centru klikněte na Domény / Správa domény / a Letsencrypt
Jak aktivovat certifikát ve VPS centru?
Pokud máte VPS, tak ve VPS centru vyberte v levém boxu doménu, které se bude certifikát týkat, klikněte na nastavení a tam už máte možnost certifikát zapnout.
O jeho prodloužení se stará náš systém sám.
Kámen úrazu
V tuto chvíli SSL funguje. Pokud dáte https://www.domena.cz tak se nahoře objeví vytoužený zámeček indikující, že se jedná o šifrovanou komunikaci čili je SSL certifikát aktivní. Zámeček v prohlížeči lze rozkliknout a podívat se na podrobnosti.
Jde ale o to, že návštěvníci nezadávají adresu v tomto tvaru. Vkládají adresy včetně www či bez nebo přichází z nějakého vyhledávače, kde je uvedeno http://www.domena.cz. Je tedy nutné zajistit, aby veškerá komunikace probíhala přes HTTPS a jedním ze spolehlivých způsobů je právě přesměrování pomocí .htaccess.
Další věcí, na kterou je třeba dávat pozor je tzv. Mixed content. Jan název napovídá, bude se jednat o obsah na který se ze stránek odkazujete a zdroj obsahu není na https. Pak je nutné projít znovu celý web a zkontrolovat to. Prostě žádný obrázek či video nesmí být zobrazováno z webu, který nejede na https. Pokud v kódu nějaký takový obsah máte, certifikát nebude fungovat ani zde.
Souhrn informací o .htaccess naleznete zde
Přesměrování HTTP na HTTPS
Soubor .htaccess naleznete v domovské složce vašeho webu. Připojte se tam pomocí FTP. Můžete využít našeho webového rozhraní. Pokud preferujete aplikaci, doporučujeme WinSCP.
V souboru .htaccess pod RewriteEngine On napište:
RewriteEngine On
# all redirection HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
WWW nebo bez
Rozhodnutí, zda chcete, aby se v prohlížeči zobrazovalo www nebo ne je na vás. Osobně preferuji bez. Google totiž ve svém prohlížeči bude brzy www schovávat stejně jako dnes schovává http(s)
Doména s adresou začínající www
RewriteEngine On
# all redirection HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# redirection no www -> https://www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Doména bez www
RewriteEngine On
# all redirection HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# redirection www. -> https://
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Přesměrování pomocí Apache
Stejných výsledků lze docílit i konfigurací Apache nebo NGINX. Pokud používáte Apache, stačí vám upravit a spustit následující konfiguraci. Za ManagedDomain stačí napsat všechny tvary domén a server se už o vše postará sám.
ManagedDomain domena.cz www.domena.cz
<VirtualHost *:443>
ServerName www.domena.cz
ServerAlias domena.cz
Protocols h2 http/1.1
SSLEngine on
...
</VirtualHost>
MDCertificateAgreement https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf
ServerAdmin admin@domena.cz
Přesměrování pomocí NGINX
Na NGINX máme připravené přesměrování v konfiguračním souboru v našem VPS centru. Stačí vymazat křížek v tomto řádku.
Kontrola
Zkontrolovat, jestli se stránky přesměrují můžete pomocí nástroje na stránkách httpstatus.io.