Shopware 6 mit SSL hinter Reverse-Proxy

Shopware läuft bei mir hinter einem Nginx. Zwischen Client und NGINX gibt es eine SSL verschlüsselung, zwischen NGINX und Shopware nicht.

Das Laden vom Admin-Bereich scheitert jetzt an Mixed-Content-Fehlern:
app.js?1567695499:29 Mixed Content: The page at ‘https://xxxxxxxxxxxx.com/admin#/’ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ‘http://xxxxxxxxxxxx.com/api/v1/_info/open-api-schema.json’. This request has been blocked; the content must be served over HTTPS.

Ich konnte keine Dokumentation finden, wie ich ihn richtig konfiguriere. Lande immer wieder bei der Shopware 5 Dokumentation.

Gibt es schon eine Dokumentation? Oder gibt es einen Tipp, wo ich das konfigurieren kann?

Die Instanz ist unter https://xxxxxxxxxxxx.com frisch installiert worden. Die Installation lief fehlerfrei durch.

Viele Grüße,

Markus

Shopware 6 ist ja eine Symfony Applikation, entsprechend ist da auch nichts Shopware spezifisches notwendig.

 

https://symfony.com/doc/current/deployment/proxies.html

Die TrustedProxies kannst du via environment definieren.

https://github.com/shopware/development/blob/master/public/index.php#L30

 

Hallo Moritz, 

@Moritz Naczenski schrieb:

Shopware 6 ist ja eine Symfony Applikation, entsprechend ist da auch nichts Shopware spezifisches notwendig.

 

https://symfony.com/doc/current/deployment/proxies.html

Die TrustedProxies kannst du via environment definieren.

https://github.com/shopware/development/blob/master/public/index.php#L30

 

ich habe genau das gleiche Problem. Ich nutze einen Amazon AWS EC2-Server mit einem Load Balancer, der die SSL-Verschlüsselung ermöglicht. Wie muss ich vorgehen, dass ich mich auch wieder in das Adminmenü einlogen kann und dass das Problem mit dem „Mixed Content“ behoben wird?

Vielen Dank für deine Unterstützung und deine Rückmeldung.

Viele Grüße
Stefan Börner  

Aber das steht ja in den verlinkten Artikeln?
 

Hallo Herr Naczenski, 

@Moritz Naczenski schrieb:

Aber das steht ja in den verlinkten Artikeln?
 

danke für Ihre schnelle Rückmeldung. Ich habe grundsätzliche Fragen:

  1. Wo installiere ich Symfony? Auf meinem Webserver, wo auch die Shopware-Installation liegt?
  2. Starte ich Symfony nach der Installation und muss Eingaben machen, wie hier beschrieben? (https://symfony.com/doc/current/deployment/proxies.html)

Vielen Dank für Ihre Rückmeldung.

Viele Grüße
Stefan Börner

Ich glaube, wer DIESE Frage stellt, sollte tunlichst die Finger vom „Selber Hosten“ lassen, und eine Person beauftragen, die wenigstens ein paar grundlegende Basics beherrscht.
Symfony ist ein PHP-Framework, welches zusammen mit SW6 bereits installiert und immer mit ausgeführt wird.

2 Likes

Der Bertrieb eines Load-Balancers bedingt schon ein gewisses Know-How im Hosting-Bereich, gerade auch was die Eirichtung angeht.

Shopware basiert auf Symfony - man muss also nichts installieren, sondern nur die Umgebungsvariablen deines Servers entsprechend konfigurieren. Symfony prüft hier auf folgende Variablen:

$_SERVER[‘TRUSTED_PROXIES’] 

$_ENV[‘TRUSTED_PROXIES’]

Diese sollten die IPs des Proxies beinhalten

Hallo Herr Naczenski, 

@Moritz Naczenski schrieb:

Der Bertrieb eines Load-Balancers bedingt schon ein gewisses Know-How im Hosting-Bereich, gerade auch was die Eirichtung angeht.

Shopware basiert auf Symfony - man muss also nichts installieren, sondern nur die Umgebungsvariablen deines Servers entsprechend konfigurieren. Symfony prüft hier auf folgende Variablen:

$_SERVER[‚TRUSTED_PROXIES‘] 

$_ENV[‚TRUSTED_PROXIES‘]

Diese sollten die IPs des Proxies beinhalten

vielen Dank für Ihre Rückmeldung. Können Sie mir sagen, in welcher Datei ich die Variablen  

$_SERVER[‚TRUSTED_PROXIES‘] 

$_ENV[‚TRUSTED_PROXIES‘]

anpassen muss?

Viele Grüße
Stefan Börner

Hallo, mir ist nicht ganz klar, was genau auf github „erklärt“ worden sein soll, alles was ich da sehe ist eine index.php.

Heißt dass, man muss die eigene index.php um den trusted proxy part erweitern?? Ein wenig mehr Information dazu wären hilfreich.

Der Link zu symfony ist leider auch nicht viel aufschlussreicher. Wenn ich das korrekt verstehe, soll man unter config/packages die framework datei anpassen um die als YAML / XML oder PHP angeben, wobei man dort seine eigenen Angaben wie IP Adresse einfügt.

Ist das richtig?

Da das Thema auch in 6.5 noch Relevanz hat und ich einen Lösungsvorschlag eingereicht habe, möge man mir das Necroposting verzeihen.

In der index.php steht welche Environment Variablen du setzen kannst, hiermit kannst du alles bis auf ``.

Der Weg via framework.yaml funktioniert leider aktuell noch nicht. Ich habe hierzu einen PR auf GitHub gestellt:

2 Likes

Danke, discordier, die index.php hier hat mir geholfen, weder die /www/.env noch die /www/config/packages/framework.yaml haben mir geholfen… ENDLICH