Bereitstellen von Portus in GCP mit einem implementierten Nginx Ingress Load Balancer. Portus lädt gut, aber wenn ich versuche, die Anwendung zu verwenden und einige der Formulare auszufüllen, erhalte ich den folgenden Fehler:
VM798: 1 Gemischter Inhalt: Die Seite bei " Ссылка " wurde über HTTPS geladen, hat jedoch einen unsicheren XMLHttpRequest-Endpunkt angefordert ' Ссылка ". Diese Anfrage wurde blockiert. Der Inhalt muss über HTTPS bedient werden.
Nginx-Konfiguration: Ссылка
Umgebung:
mount API::RootAPI => "/"
Ich habe also den Code für manuelle http-Aufrufe überprüft und habe nichts gesehen. Und ich habe einen Tag damit verbracht, durch Rails Docs und Nginx Docs zu graben, um zu sehen, was bewirkt, dass einige der App korrekt mit ssl geladen werden und die API nicht denselben Regeln folgt.
----- Aktualisierung 1 ------ Nach weiterer Untersuchung scheint es etwas mit Vue-Validator zu tun zu haben. Beim Überprüfen der Entwicklerwerkzeuge wurde Folgendes angezeigt:
locken ' Ссылка " -X OPTIONEN -H 'Access-Control-Request-Methode: GET' -H 'Herkunft: Ссылка ' -H 'Access-Control- Anfrage-Header: x-csrf-token '--komprimiert
Und es sieht so aus, als würde die Root-URL hier aufgerufen:
%Vor%root_url wird auf / wie oben erwähnt gesetzt.
Allerdings wird der Vue-Code näher analysiert:
%Vor%Params ist so eingestellt, dass SSL in der Abfrage verwendet wird
%Vor% Ich bin mir nicht sicher, wie Ihre App funktioniert und welche Mechanismen an welche Daten weitergegeben werden, aber ich vermute, dass Sie use_ssl=true
im querystring-Parameter an Ihren /validate
-Endpunkt übergeben müssen.
Momentan wird use_ssl=false
übergeben, was wahrscheinlich eine Nicht-SSL-Antwort zurückgibt.
Tags und Links nginx ruby-on-rails gcp grape-api portus