SSL Unterstützung in unterschiedlichen Szenarios

Für SSL werden zwei Unterschiedliche Szenarios unterstützt:

  • Standardmäßig wird das Protokoll der Seite auch für die Requests zum Server verwendet. Daher wird die Seite mit “https” aufgerufen werden auch “https” Requests zum Server gesendet
  • Unterscheidet sich die URL neben dem Protokoll können beide URLs angegeben werden. Dies ist beispielsweise beim Anbieter all-inkl der Fall. Dort wird “https://ssl-account.com/%domain%” für SSL Aufrufe verwendet

Beispiel zur Konfiguration verschiedener URLs für “http” und “https”:

return [
    'dragonjsonserver' => [
        'serverurl' => [
            'http'  => '%httpurl%',
            'https' => '%httpsurl%',
        ],
    ],
];

Wenn man die Konfiguration aus PHP heraus an das JavaScript übergibt muss man beachten, dass die “serverurl” sowohl ein String als auch ein Array sein kann:

<script>
    <?php if (is_array($this->serverurl)) { ?>
    var serverurl = JSON.parse('<?= \Zend\Json\Encoder::encode($this->serverurl) ?>');
    <?php } else { ?>
    var serverurl = '<?= $this->serverurl ?>';
    <?php } ?>
</script>

Der JavaScript Connector unterscheidet dann selbst anhand des Protokolls der aktuellen URL welche der ServerURLs verwenden werden muss.