MerlinoIntern ist der interne Bereich für Kundenwebseiten basierend auf Merlino. Für diesen internen Bereich muss eine zweite Instanz in Merlino angelegt werden, die nur die Webseiten für den internen Bereich inne hat. Das Cache-Ziel dieser Instanz muss mit einer htaccess-Datei geschützt werden, die nur Zugriffe vom CDN-Server erlaubt. Damit wird verhindert das man von außen Zugriff auf diese Seiten hat. Zusätzlich muss die Domain oder Subdomain des internen Bereichs via eines A-Records auf die IP-Adresse des CDN-Servers zeigen. Die Authentifizierung der Nutzer übernimmt stets der CDN-Server. Bei einem Aufruf prüft das System zunächst auf einen validen Login (oder leitet zum Login/Registrieren weiter) und holt sich dann das HTML der angeforderten Seite. Dieses HTML wird dann durch PhantomJS geparsed und ersetzt alle Inhalte, die nicht den Nutzerrechten entsprechend und ersetzt die Download-Links durch einen Gateway-Link. Alle Dateien, die geschützt werden sollen, müssen sich auf einen FTP befinden, der nicht via HTTP erreichbar ist. MerlinoIntern zieht sich bei einer Dateianforderung diese Daten via FTP und leitet sie durch das Gateway an den Nutzer weiter.
Hinweis: Es läuft auf dem KAS-Account der mubvideodesign.de (w0103bb4) ein Polling alle 5 Minuten, dass die Verfügbarkeit der Seite "https://intern.gva.de" prüft und im Fehlerfall eine Email an Grit, Sven und Markus versendet. Im Anhang befindet sich ein PDF zur Wiederherstellung des Servers.
exemplarischer Inhalt der .htaccess für das Cache-Ziel:
SetEnvIf Request_URI "(css|js|ico)$" NOPASSWD=true
AuthUserFile "/www/htdocs/w011ef2d/.htpasswd"
AuthName "PJS"
AuthType Basic
Require valid-user
Order Deny,Allow
Deny from all
Allow from env=NOPASSWD
Allow from 85.13.135.251
Allow from 195.201.33.84
Satisfy any
ErrorDocument 404 /404/404.html
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /index.php [NC,QSA,L]
git clone ssh://ssh-w0100ce7@git.mubsolutions.com/www/htdocs/w0100ce7/merlinoIntern.git / git checkout -b development-gva origin/development-gvash live_deploy_gvaInternCloud oder sh live_deploy_foersterDealerCloud