V tomto tutoriálu vám ukážeme, jak nastavit více certifikátů SSL na CentOS VPS s Apache pouze pomocí jedné IP adresy.
To umožňuje rozšíření protokolu SSL nazvané Server Name Indication (SNI). Většina současných desktopových a mobilních webových prohlížečů podporuje SNI. Hlavní výhodou používání SNI je možnost zabezpečit více webových stránek bez nákupu dalších IP adres.
Ujistěte se, že je nainstalován a povolen bezpečnostní modul mod_ssl, aby webový server Apache mohl používat knihovnu OpenSSL a sadu nástrojů:
yum install mod_ssl openssl
Proveďte následující příkazy:
mkdir -p /etc/httpd/ssl/mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak cd /etc/httpd/ssl/Vygenerujte soubory žádosti o podpis certifikátu SSL (CSR) pro své domény:
openssl genrsa -out domain1.key 2048openssl req -new -key domain1.key -out domain1.csropenssl genrsa -out domain2.key 2048openssl req -new -key domain2.key -out domain2.csra zadejte následující podrobnosti pro své certifikáty:
- Název země
- Název státu nebo provincie
- Název lokality
- Název organizace
- Název organizační jednotky
- E-mailová adresa
Až budete vyzváni k zadání Common Name (tj. názvu domény), zadejte FQDN (plně kvalifikovaný název domény) pro web, který zabezpečujete.
Při použití v produkčním prostředí se doporučuje nainstalovat komerční certifikáty SSL. Nebo vygenerujte a použijte certifikáty SSL s vlastním podpisem, když právě vyvíjíte nebo testujete web nebo aplikaci pomocí následujících příkazů:
openssl x509 -req -days 365 -in domain1.csr -signkey domain1.key -out domain1.crtopenssl x509 -req -days 365 -in domain2.csr -signkey domain2.key -out domain2.crt
Upravte konfigurační soubor Apache „ssl.conf“:
vi /etc/httpd/conf.d/ssl.conf
a přidejte následující řádky:
LoadModule ssl_module modules/mod_ssl.soListen 443NameVirtualHost *:443SSLPassPhraseDialog builtinSSLSessionCacheTimeout 300SSLMutex defaultSSLRandomSeed startup file:/dev/urandom 256SSLRandomSeed connect builtinSSLCryptoDevice builtinSSLStrictSNIVHostCheck offDocumentRoot /var/www/html/domain1ServerName domain1.comServerAlias www.domain1 .comSSLEengine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificateFile /etc/httpd/ssl/domain1.crtSSLCertificateKeyl#httpdles/etc. SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warning S SSLOptionsSLOptions +StvEn.vIf *MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0CustomLog logs/ssl_request_log \ "CI%t %h %x %\SSL_PROTOCOL %h %\SSL_PROTOCOL" Dokument Kořenový /var/www/html/domain2ServerName domain2.comServerAlias www.domain2.comSSLEengine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificatehttpds/etcl /domain2.crtSSLCertificateKeyFile /etc/httpd/ssl/domain2.key#SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLoghtml ~cgi_php\Level Warning SSLOptions +StdEnvVarsSetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0Custom llog_S % l log_SL/s } x %{SSL_CIPHER}x \"%r\" %b"
Při použití komerčního certifikátu SSL je pravděpodobné, že podepisující autorita zahrne zprostředkující certifikát CA. V takovém případě vytvořte nový soubor '/etc/httpd/ssl/ca.crt' a vložte do něj obsah Intermediate CA, poté upravte konfigurační soubor 'ssl.conf' a odkomentujte následující řádek:
SSLCertificateChainFile /etc/httpd/ssl/ca.crt
aby webový server Apache mohl najít váš certifikát CA.
Otestujte konfiguraci Apache:
/etc/init.d/httpd configtestSyntax OK
Restartujte službu Apache, aby se změny projevily:
restart služby httpd
Otevřete https://domain1.com a https://domain2.com ve svém oblíbeném webovém prohlížeči a ověřte, zda jsou certifikáty SSL nainstalovány správně.
Nic z toho samozřejmě nemusíte dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám nastavili více certifikátů SSL na vašem VPS. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.