Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit https

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

    Probleme mit https

    Hallo Community,

    ich habe ein SSL-Zertifikat für meine Seite hdstreams.org installiert und habe damit Probleme.

    Anscheinend werden Inhalte zum Teil geblockt (z.B. die style.css und Google Analytics), so dass die Seite beim Aufruf mit https ziemlich zerschossen ist.
    Die Seite ist mit Smarty gebaut, dass habe ich so als Paket gekauft. Leider habe ich daher keine Ahnung, wo ich nachschauen kann, wo da was geblockt wird.
    Eine andere Vermutung von mir ist, dass es an der htaccess liegen könnte, aber dazu kenne ich mich der Syntax und was da was tut, zu wenig aus.

    Gibt es jemanden, der ein ähnliches Problem hatte oder einen Tipp wo ich mal nachschauen kann?

    Beste Grüße,
    Sebastian

    #2
    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
    Markus
    ---
    https://www.facebook.com/markus.weber.180410

    Kommentar


      #3
      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

      Kommentar


        #4
        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.
        Markus
        ---
        https://www.facebook.com/markus.weber.180410

        Kommentar


          #5
          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

          Kommentar


            #6
            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

            Kommentar


              #7
              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.

              Kommentar


                #8
                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
                Two hours of trial and error can save ten minutes of manual reading.

                Kommentar


                  #9
                  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.
                  Markus
                  ---
                  https://www.facebook.com/markus.weber.180410

                  Kommentar


                    #10
                    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
                    Two hours of trial and error can save ten minutes of manual reading.

                    Kommentar


                      #11
                      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.

                      Kommentar


                        #12
                        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.

                        Kommentar


                          #13
                          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//..........

                          Kommentar


                            #14
                            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
                            Two hours of trial and error can save ten minutes of manual reading.

                            Kommentar


                              #15
                              Danke Jan für die Hinweise, da werde ich mich wohl nochmal dran setzen müssen.

                              Kommentar

                              Lädt...
                              X