Admin-Login nach Update auf 6.4.5 nicht mehr möglich (hinter Proxy)

Moin,
mein Shop läuft hinter einem NGINX-Proxy. Der Proxy wird per SSL angesprochen. Die Kommunikation zwischen Proxy und Shop ist http (ohne SSL).
Ich habe nach Symfony-Vorgabe die ENV „TRUSTED_PROXIES“ gesetzt. Bisher funktionierte damit auch alles korrekt.
Seit dem Update auf 6.4.5 kann ich mich in der Administration nicht mehr einloggen:
„Mixed Content: The page at ‚https://[url].com/admin#/login‘ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ‚http://[url].com/api/oauth/token‘. This request has been blocked; the content must be served over HTTPS.“

Nur diese Route „/api/oauth/token“ scheint nicht mitzubekommen, dass der Shop im https-Context läuft.
Wie gesagt, bis Shopware 6.4.4 lief mein Setup mit der ENV „TRUSTED_PROXIES“.
Ist das ein Bug, oder muss ich noch irgendwas bei dem Update auf 6.4.5 beachten, was ich übersehen habe?

Viele Grüße,
Markus

Hi @marfie,
ich habe gerade das gleiche Problem. Allerdings bei einer Neuinstallation mit Docker hinter einem NGINX-Proxy. Auch ich habe den trusted Proxy gesetzt. Trotzdem ging der Login nicht. Die Ursache ist, wie du schon schreibst, dass die Anfrage an den Login-Endpunkt nicht https sondern http nutzt.

Ich konnte mir jetzt selbst einen kleinen Workaround bauen. Schau mal den Quelltext von der Login Seite an. Darin findest du ein JavaScript Objekt, welches von den Assets genutzt wird um die ganzen Requests an die API zu fahren. Darin stand bei mir das falsche scheme (http und nicht https) außerdem eine uri ohne https und eine schemeAndHttpHost ohne https. Ich habe daher die Datei vendor/shopware/administration/Resources/views/administration/index.html.twig kurzerhand selbst bearbeitet, und die richtigen Werte hart dort rein geschrieben.

Danach noch die folgenden Befehle auf der console ausführen, um die Assets neu zu bauen:
php bin/console theme:compile
php bin/console assets:install
php bin/console cache:clear

Danach sollten in dem Quelltext der Loginseite die richtigen Daten stehen. Und der Login sollte klappen.

Ich habe gerade kein Plan, was da falsch läuft. Denke eher, dass es etwas mit der Proxy-Konfiguration zutun hat. Aus sich von Shopware ist die Verbindung eben nicht SSL. Ich denke daher baut Shopware die falschen URLs zusammen. Schaue bei Gelegenheit noch mal drüber aber als erster Workaround ist das hoffentlich so brauchbar.

LG

1 „Gefällt mir“

Hallo zusammen,
bei mir tritt der Fehler ebenfalls auf.
Nach dem Update von 6.4.4.1 auf 6.4.5.1 kann ich mich nicht mehr in der Administration anmelden. Die Shopware Installation läuft hinter einem nginx-proxy, trusted proxies ist auch entsprechend konfiguriert. Trotzdem erfolgt die API Anfrage über http statt https, was zu dem Fehler führt. Mit 6.4.4.1 läuft die Konfiguration problemlos.

Danke @steampixel für deinen Workaround! Nachdem ich die Werte in der Template Datei hart hinterlegt habe, funktioniert die Administration wieder.
Anpassen musste ich die Werte für port, scheme, schemeAndHttpHost und uri. Keine Ahnung warum hier nach dem Update port 80 und http benutzt wird. Mit dem Workaround funktionierts immerhin vorerst wieder :slight_smile:

Same here. Workaournd funktioniert für uns allerdings leider nicht.

Hi,

das Thema wurde bereits bei uns in Github disktuiert. Schaut bitte mal rein ob euch die Lösung da weiter hilft:

Gruß Oliver