Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit https

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • _top_
    antwortet
    Und schau auch noch in deiner CSS nach: https://hdstreams.org/templates/default/css/style.css

    Direkt am Anfang:
    HTML-Code:
    @charset "UTF-8";@import url("http://fonts.googleapis.com/css?family=Open+Sans:300, ...
    Daraus solltest du auch https: machen. Dann klappt es auch mit den Webfonts.

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Danke Jan für die Hinweise, da werde ich mich wohl nochmal dran setzen müssen.

    Einen Kommentar schreiben:


  • Enigma
    antwortet
    Zitat von HDStreams.org Beitrag anzeigen
    Das die Seite trotzdem noch als unsicher eingestuft wird (trotz gültigem Zertifikat) liegt sicher am Content und wie der geladen wird vermute ich.
    Die Bilder kommen ja über eine http-Verbindung: /timthumb.php?src=http://image.tmdb.org/t/p/w780//..........
    Genaugenommen wird das Skript /timthumb.php aufgerufen, und zwar per HTTPS, wenn die Seite selbst ebenfalls per HTTPS aufgerufen wird. Das Skript holt sich mit großer Sicherheit das Bild von der angegebenen Adresse und liefert es an den Browser aus. Daran sollte der Browser nichts auszusetzen haben, da er davon gar nichts mitbekommt. Besser wäre es trotzdem, die Bilder von einer HTTPS-Adresse zu holen, sofern möglich.

    jQuery wird allerdings noch direkt per HTTP eingebunden:

    HTML-Code:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    Ganz unten wird unter "Letzte User-Registrierungen" das Skript, das die Bilder "durchschleust", zudem ein paarmal explizit per HTTP aufgerufen (http://hdstreams.org/timthumb.php).

    Gruß
    Jan

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Zitat von Enigma Beitrag anzeigen

    Du hast eine Host-Prüfung durch eine Port- bzw. HTTPS-Prüfung ersetzt. Sinnvoller wäre, beide Prüfungen zu kombinieren:

    Code:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteCond %{HTTPS} !=On [NC,OR]
    RewriteCond %{HTTP_HOST} !=hdstreams.org [NC]
    RewriteRule ^(.*)$ https://hdstreams.org/$1 [R=301,L]
    </IfModule>
    Reguläre Ausdrücke machen nur Sinn, wenn es auch variable Elemente gibt. Statt "%{HTTP_HOST} !^hdstreams\.org$" verwende ich daher "%{HTTP_HOST} !=hdstreams.org" - es handelt sich um einen reinen String-Vergleich.

    Gruß
    Jan
    Danke Jan, habe das mal so umgesetzt. Die Umleitung funktioniert so einwandfrei. Das die Seite trotzdem noch als unsicher eingestuft wird (trotz gültigem Zertifikat) liegt sicher am Content und wie der geladen wird vermute ich.
    Die Bilder kommen ja über eine http-Verbindung: /timthumb.php?src=http://image.tmdb.org/t/p/w780//..........

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Zitat von wecotec Beitrag anzeigen
    Um einfachsten finde ich den htaccess-Eintrag

    Code:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on RewriteRule ^
    https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>
    Dazu hatte ich mal gelesen, dass man da u.U. Probleme wegen DC mit Google bekommen kann und man mit
    RewriteRule ^(.*)$ https://www.meine-domain.de /$1 [R=301,L] besser aufgestellt ist.

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Zitat von _top_ Beitrag anzeigen
    Du musst es schon so einrichten, dass deine Seite im Quelltext auch https nutzt um auf die CSS-Datei (und alles was sonst noch eingebunden werden soll) zuzugreifen. Wenn deine Seite über https: aufgerufen wird, sind es die Browser selbst die sich weigern etwas von http: nachzuladen.
    Des weiteren musst du also auch alle Pfade in allen eingebundenen CSS-Dateien überprüfen.
    Das sollte eigentlich inzwischen auch der Fall sein, da ich in der config das "http" durch ein "https" ersetzt habe.

    Einen Kommentar schreiben:


  • Enigma
    antwortet
    Zitat von wecotec Beitrag anzeigen
    Um einfachsten finde ich den htaccess-Eintrag

    Code:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on RewriteRule ^
    https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>
    Mal davon abgesehen, dass da etwas verrutscht ist, bewirkt diese Regel aber etwas anderes. Es wird z. B. nicht von www.domain.tld zu domain.tld umgeleitet, und möchte man andere Domains zu einer bestimmten umleiten, funktioniert das auch nicht. Man muss also vorher den Anwendungsfall kennen. Ich persönlich finde ihn hier etwas begrenzt, da man eine Weiterleitung zu www. oder umgekehrt eigentlich immer möchte.

    Gruß
    Jan

    Einen Kommentar schreiben:


  • wecotec
    antwortet
    Um einfachsten finde ich den htaccess-Eintrag

    Code:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on RewriteRule ^
    https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>
    Der bringt aber nichts, so lange nur ein Element auf der Seite mittels http://.... geladen wird.
    Zuletzt geändert von wecotec; 11.11.2019, 12:14.

    Einen Kommentar schreiben:


  • Enigma
    antwortet
    Zitat von HDStreams.org Beitrag anzeigen
    ich habe die .htacces jetzt so geändert:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://hdstreams.org/$1 [R=301,L]
    ...
    Du hast eine Host-Prüfung durch eine Port- bzw. HTTPS-Prüfung ersetzt. Sinnvoller wäre, beide Prüfungen zu kombinieren:

    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        RewriteCond %{HTTPS} !=On [NC,OR]
        RewriteCond %{HTTP_HOST} !=hdstreams.org [NC]
        RewriteRule ^(.*)$ https://hdstreams.org/$1 [R=301,L]
    </IfModule>
    Reguläre Ausdrücke machen nur Sinn, wenn es auch variable Elemente gibt. Statt "%{HTTP_HOST} !^hdstreams\.org$" verwende ich daher "%{HTTP_HOST} !=hdstreams.org" - es handelt sich um einen reinen String-Vergleich.

    Gruß
    Jan

    Einen Kommentar schreiben:


  • _top_
    antwortet
    Du musst es schon so einrichten, dass deine Seite im Quelltext auch https nutzt um auf die CSS-Datei (und alles was sonst noch eingebunden werden soll) zuzugreifen. Wenn deine Seite über https: aufgerufen wird, sind es die Browser selbst die sich weigern etwas von http: nachzuladen.
    Des weiteren musst du also auch alle Pfade in allen eingebundenen CSS-Dateien überprüfen.

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Zitat von [headcrash] Beitrag anzeigen
    das sieht eher danach aus, dass in einer Configdatei oder .htaccess die http-URL fest gesetzt ist und deshalb bei https kein CSS geladen wird
    Guten Morgen,

    ich habe die .htacces jetzt so geändert:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://hdstreams.org/$1 [R=301,L]
    ...


    Leider funktioniert der Aufruf immer noch nicht, der User landet auf der http-Seite.

    Woran kann das noch liegen?

    Beste Grüße und Danke,
    Sebastian

    Einen Kommentar schreiben:


  • HDStreams.org
    antwortet
    Guten Morgen,

    vielen Dank für die Tipps, dass klingt schon mal gut. Die Base-URL wird im Script über eine Variable geladen (<base href="{$link.url}" />{nocache}), da ich die Seite nicht selber gebaut habe, muss ich wohl das ganze Verzeichnis mal durchsuchen, wo dieses Variable instanziiert wird.
    In der config steht da leider nichts dazu.

    Bzgl. htaccess: Muss ich da noch die Rewrite Rule ändern, so dass da auch https steht, also so:

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^hdstreams\.org$ [NC]
    RewriteRule ^(.*)$ https://hdstreams.org/$1 [R=301,L]

    ?

    Vielen Dank schon mal an Euch.

    Beste Grüße,
    Sebastian

    Einen Kommentar schreiben:


  • wecotec
    antwortet
    Zitat von [headcrash] Beitrag anzeigen
    das sieht eher danach aus, dass in einer Configdatei oder .htaccess die http-URL fest gesetzt ist und deshalb bei https kein CSS geladen wird
    sorry, hatte nicht gesehen dass da auch eine URL steht

    Wenn ich mir den Quelltext anschaue fällt mir als erstes auf, dass z.B. jQuery mit "http://" geladen wird. Das sollte nicht so sein.

    Das ganze setzt sich aber fort, alles was mit "http://hdstreams.org/" beginnt kann durch "/" ersetzt werden, dann macht man sich von der URL (und dem Protokoll) komplett unabhängig.

    Wenn dann noch die base-href geändert wird sollte die Seite problemlos mit https funktionieren

    Die letzten 2 Punkte lassen sich bestimmt durch das ändern der von headcrash erwähnten Config-Datei ändern. Das Laden von jQuery kann man bestimmt auch noch irgendwo beeinflussen....
    Zuletzt geändert von wecotec; 05.11.2019, 19:50.

    Einen Kommentar schreiben:


  • [headcrash]
    antwortet
    das sieht eher danach aus, dass in einer Configdatei oder .htaccess die http-URL fest gesetzt ist und deshalb bei https kein CSS geladen wird

    Einen Kommentar schreiben:


  • wecotec
    antwortet
    Der "klassische" Fehler ist meistens "mixed Content"§, d.h. die Seite lädt Inhalte wie Scripte/Bilder/CSS nicht per https sondern per http nach. Das nehmen einen die Browser übel wenn man eine https-Seite hat. Hast Du die Möglichkeit die Pfade zu Bildern/Scripten/CSS zu prüfen (am besten im HTML-Quelltext) und anzupassen? Eigentlich müsste man nur aus einem "http:" ein "https:" machen. Wenn die Vorlage sauber programmiert ist reicht es die "Base-Url" auf https umzustellen

    Einen Kommentar schreiben:

Lädt...
X