In diesem Tutorial zeigen wir Ihnen, wie Sie mehrere SSL-Zertifikate auf einem CentOS VPS mit Apache mit nur einer IP-Adresse einrichten.
Dies wird durch eine Erweiterung des SSL-Protokolls namens Server Name Indication (SNI) ermöglicht. Die meisten aktuellen Desktop- und mobilen Webbrowser unterstützen SNI. Der Hauptvorteil der Verwendung von SNI ist die Möglichkeit, mehrere Websites zu sichern, ohne weitere IP-Adressen kaufen zu müssen.
Stellen Sie sicher, dass das Sicherheitsmodul mod_ssl installiert und aktiviert ist, damit der Apache-Webserver die OpenSSL-Bibliothek und das Toolkit verwenden kann:
yum install mod_ssl openssl
Führen Sie die folgenden Befehle aus:
mkdir -p /etc/httpd/ssl/mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak cd /etc/httpd/ssl/Generieren Sie SSL-Zertifikatsignaturanforderungsdateien (CSR) für Ihre Domains:
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.csrund geben Sie die folgenden Details für Ihre Zertifikate ein:
- Landesname
- Staats- oder Provinzname
- Ortsname
- Organisationsname
- Name der Organisationseinheit
- E-Mail-Adresse
Wenn Sie zur Eingabe des Common Name (d. h. des Domänennamens) aufgefordert werden, geben Sie den FQDN (vollständig qualifizierter Domänenname) für die zu sichernde Website ein.
Es wird empfohlen, kommerzielle SSL-Zertifikate zu installieren, wenn sie in einer Produktionsumgebung verwendet werden. Oder generieren und verwenden Sie selbstsignierte SSL-Zertifikate, wenn Sie gerade eine Website oder Anwendung entwickeln oder testen, indem Sie die folgenden Befehle verwenden:
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
Bearbeiten Sie die Apache-Konfigurationsdatei „ssl.conf“:
vi /etc/httpd/conf.d/ssl.conf
und fügen Sie die folgenden Zeilen hinzu:
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 .comSSLEngine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificateFile /etc/httpd/ssl/domain1.crtSSLCertificateKeyFile /etc/httpd/ssl/domain1.key# SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warn SSLOptions +StdEnvVars SetEnvIf User-Agent ". *MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"Dokument Root /var/www/html/domain2ServerName domain2.comServerAlias www.domain2.comSSLEngine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificateFile /etc/httpd/ssl /domain2.crtSSLCertificateKeyFile /etc/httpd/ssl/domain2.key#SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warn SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL} x %{SSL_CIPHER}x \"%r\" %b"
Wenn Sie ein kommerzielles SSL-Zertifikat verwenden, wird die signierende Stelle wahrscheinlich ein CA-Zwischenzertifikat enthalten. Erstellen Sie in diesem Fall eine neue Datei „/etc/httpd/ssl/ca.crt“ und fügen Sie den Inhalt der Zwischenzertifizierungsstelle darin ein, bearbeiten Sie dann die Konfigurationsdatei „ssl.conf“ und kommentieren Sie die folgende Zeile aus:
SSLCertificateChainFile /etc/httpd/ssl/ca.crt
damit der Apache-Webserver Ihr CA-Zertifikat finden kann.
Testen Sie die Apache-Konfiguration:
/etc/init.d/httpd configtestSyntax OK
Starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden:
Dienst httpd neu starten
Öffnen Sie https://domain1.com und https://domain2.com in Ihrem bevorzugten Webbrowser und vergewissern Sie sich, dass die SSL-Zertifikate korrekt installiert sind.
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, mehrere SSL-Zertifikate auf Ihrem VPS für Sie einzurichten. Sie sind 24×7 erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.