Besonderheiten in Bezug auf SSL hinterm LoadBalancer

Es gibt folgendes zu beachten:

https ist nicht direkt als Protokoll erkennbar sondern nur über die Umgebungsvaribale $_SERVER|HTTP_X_MCS_LB_INFO

Dies muss

  1. im Template und
  2. im typo3conf/localconf.php

berücksichtigt werden.

Folgendes empfehlen wir für typo3conf.php


/** MCS Fix fuer Loadblancer
    terminierung der SSL Verbindung
*/
if ( isset($_SERVER['HTTP_X_MCS_LB_INFO_S']) ) {
        $_SERVER['HTTPS'] = 'on';
}

 

Damit in den Templates dies korrekt gesetzt wird muss also folgendes im Tempate gesetzt werden, Beispiel Hostname support.mcs.de


hostname = support.mcs.de

http_protokoll = http
[globalString = _SERVER|HTTP_X_MCS_LB_INFO_S=yes]
http_protokoll = https
[global]

SSL auf dem WebCluster für gesicherten Zugrifff auf /typo3/

Wenn Ihre Typo3 Site auf dem MCS WebCluster gehostet wird, können Sie über SERVER_NAME/typo3/ eine gesicherte Verbindung zu Ihrem Server aufbauen.

Falls Ihr Server auf der IP 212.1.40.100 bzw. 212.1.40.123 läuft, gibt es eine Zertifikatswarnung, die aber keinen Einfluss auf die Verschlüsselung der übertragenen Daten hat.

Folgendes können Sie vornehmen, um Ihr Typo3 Backend abzusichern:

  1. erzwingen von SSL für /typo3:

    $TYPO3_CONF_VARS['BE']['lockSSL'] = '2';

  2. IP Beschränkung festlegen:

    1. bei fester IP oder mehreren fetsten IPs:

      $TYPO3_CONF_VARS['BE']['IPmaskList'] = "195.244.127.4,212.1.56.*,212.1.57.*";

    2. bei nicht fester IP können Sie den Zugriff auf DE Bereich beschränken

      // generische ale DE Zugriffe zulassen
      if( $_SERVER["GEOIP_COUNTRY_CODE"] == "DE") {
            $TYPO3_CONF_VARS['BE']['IPmaskList'] = $_SERVER["GEOIP_ADDR"];
      }

Ferner sind die unter "Besonderheiten in Bezug auf SSL hinterm LoadBalancer" genannten Einstellungen vorzunehmen, damit Typo3 korrekt erkennt, dass der Zugrif über https erfolgt.

RSS-Dateien über Fileadmin editieren

In der Standard Installation von Typo3 können nur folgende Dateitypen editiert werden:

[*.txt, *.html, *.htm, *.css, *.tmpl, *.js, *.sql, *.xml, *.csv, *.inc]

Damit auch RSS-Dateien edierbar werden, kann man folgende Konfiguration in

typo3conf/localconf.php foglendes ergänzen:

$TYPO3_CONF_VARS['SYS']['textfile_ext'] .= ",rss";

404 Handling ggf. optimieren

Oft verlangsamt das typischerweise durch Typo3 angewendetet 404 Handling einzelne Server erheblich. Der Ablauf ist in der Regel grob wie folgt:

  •  Eintreffen der externen HTTP Anfrage auf einen Apache Chile-Prozess
  • Erzeugen eines HTTP-Requsts auf die 404-Handling Seite
    (Dafür muss der Apache-Child einen eigenen Request-Handler erzeugen und ist für die gesamte Zeit blokiert)
  • eintreffen des http-Requests vom eigenen Server


Die erzeugte Last ist damit bei einem 404 Fehler um mehr als das dreifache Höher als bei Anfragen, die  nicht zu einem 404 Fehler führen.



Beschleuningsmöglichkeit


Man kann auch eine statische Datei für das PageNotFound Handling in typ3conf/localconf.php einbinden:

$TYPO3_CONF_VARS[FE][pageNotFound_handling] = "READFILE:fileadmin/static-html/404.html";


eine Einbindung von PHP-Code ist hierbei nicht möglich, aber bei Multisite Instanzen kann man etwa wie folgt unterschiedliche 404-Seiten ausliefern:


if ($_SERVER['HTTP_HOST'] == 'www.MEIN-SERVERNAME.de') {

    $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'READFILE:fileadmin/404/mein-servername.html';

}

else {
    $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = READFILE:fileadmin/404/default.html';
}

 

 

LogLevel definieren

In der Default Auslieferung loggt Typo3 alle Fehler in sys_log und das kann zu einer großen Anzahl Einträgen führen.

Integer (0, 1, 2, 3, 4): Nun Messages mit gleichem oder höherem Schwergrad werden geloggt:

  • 0: info
  • 1: notice
  • 2: warning
  • 3: error
  • 4: fatal error