Diese Seite gibt eine Schritt-für-Schritt-Anleitung, um die easydb so einzurichten, dass sie über HTTPS erreichbar ist.
Um die easydb über HTTPS anzubieten, sollte zumindest der EAS lokal über HTTP zugänglich sein, um den Overhead durch die Verschlüsselung zu verhindern. Wir empfehlen, die Weiterleitung von HTTP auf HTTPS einzurichten (Schritt 2).
Schritt 1: Einen virtuellen Host für HTTP einrichten
Schritt 2: Weiterleitung von HTTP auf HTTPS (empfohlen)
Schritt 3: einen virtuellen Host für HTTPS einrichten
Schritt 4: Konfiguration der easydb anpassen
Schritt 5: Domains im Webserver aktivieren
Erstellen Sie in /etc/apache2/sites-available/ eine Datei namens "easydb":
Include /etc/opt/easydb/eas/apache-easydb-asset-server.inc Include /opt/easydb/4.0/conf/apache-fastcgi.inc
<VirtualHost localhost:80> ServerAdmin <ADMIN_EMAIL> ServerName localhost
DocumentRoot /opt/easydb/4.0/docroot
Include /opt/easydb/4.0/conf/apache-easydb.inc
Use EasydbAssetServerExt /opt/easydb/eas "http" /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket Use EasydbAssetServerAllowedHost "127.0.0.1 ::1"
SetEnv EASYDB_ROOT /opt/easydb/4.0/docroot SetEnv EASYDB_CONF %ENVIRONMENT%,/etc/opt/easydb/<INSTANCE>.conf SetEnv EASYDB_INSTANCE <INSTANCE>
</VirtualHost>
Falls Sie die easydb weiterhin über HTTP anbieten wollen, so ersetzen Sie die <VirtualHost localhost:80>
durch <VirtualHost *:80>
, und tragen unter ServerName
die vollständige Domain ein. Bei EasydbAssetServerAllowedHost
müssen Sie die IP-Addresse des externen Interfaces nachtragen.
Dieser vhost sorgt dafür, dass der EAS über die Loopback-Adresse unverschlüsselt erreichbar ist. Sie können noch folgendes in die Datei anhängen, um alle Browser automatisch auf die verschlüsselte Seite weiterzuleiten:
<VirtualHost *:80>
ServerName <DOMAIN_NAME>
RewriteEngine on
RewriteRule ^/(.*) https://<DOMAIN_NAME>/$1 [R]
</VirtualHost>
Ersetzen Sie den Platzhalter <DOMAIN_NAME>
mit der Domain, auf der Ihr Zertifikat ausgestellt wurde.
Nun folgt der Vhost für HTTPS. Legen Sie den privaten Schlüssel, das SSL-Zertifikat und das Intermediate-Zertifikat unter /etc/ssl/private/
ab. Achten Sie darauf, dass der Schlüssel nur für www-data
und nicht von allen lesbar ist! Legen Sie nun in /etc/apache2/sites-available/ eine Datei namens "easydb-ssl" mit folgendem Inhalt an:
<VirtualHost *:443> ServerName <DOMAIN_NAME> ServerAdmin <ADMIN_EMAIL>
SSLEngine on SSLCertificateKeyFile /etc/ssl/private/private.key SSLCertificateFile /etc/ssl/private/domain.cert SSLCertificateChainFile /etc/ssl/private/intermediate_CA.cert
DocumentRoot /opt/easydb/4.0/docroot
Include /opt/easydb/4.0/conf/apache-easydb.inc
Use EasydbAssetServerExt /opt/easydb/eas "https" /var/opt/easydb/lib/eas/partitions /var/run/easydb/fcgi-socket Use EasydbAssetServerAllowedHost "127.0.0.1 ::1"
SetEnv EASYDB_ROOT /opt/easydb/4.0/docroot SetEnv EASYDB_CONF %ENVIRONMENT%,/etc/opt/easydb/<INSTANCE>.conf SetEnv EASYDB_INSTANCE <INSTANCE>
</VirtualHost>
Ändern Sie die easydb-Konfig in /etc/opt/easydb/<INSTANCE>.conf
so ab, dass statt der EAS_URL folgendes gesetzt ist:
EAS_INTERNAL_URL=http://localhost/eas
EAS_EXTERNAL_URL=/eas
Aktivieren Sie die domains mit:
a2ensite easydb
a2ensite easydb-ssl
Anschließend können werden Sie aufgefordert, den Webserver neuzuladen:
apache2ctl graceful