HTTPS wurde nicht aktiviert, da es auf dem Server nicht verfügbar ist. (SSL nur im Backend)

  • Hallo liebe Wissende,


    ich arbeite noch nicht so lange mit Joomla ...
    Habe jetzt eine Seite, die mit SSL laufen soll. Zertifikat ist auf dem Server installiert und das Backend lässt sich auch problemlos per https:// ansprechen.
    Leider funktioniert das Frontend nur per http://.
    Wenn ich in der Konfiguration "HTTPS erzwingen" einschalte, bekomme ich die Fehlermeldung: HTTPS wurde nicht aktiviert, da es auf dem Server nicht verfügbar ist.


    Hat jemand eine Idee, woran das liegen könnte?


    Hier meine Systeminformationen:
    Datenbankversion 5.6.21
    Datenbankzeichensatz latin1_german2_ci
    Datenbankverbindungszeichensatz utf8mb4_general_ci
    PHP-Version 5.5.23
    Webserver Apache
    PHP-Interface für den Webserver cgi-fcgi
    Joomla!-Version Joomla! 3.6.2 Stable [ Noether ] 4-August-2016 23:41 GMT
    Joomla!-Plattform-Version Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
    Browsererkennung Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

  • hmm irgendwie ist dann dein SSL nicht richtig konfiguriert. Denn dieser Code ist dafür verantwortlich: https://github.com/joomla/joom…application.php#L124-L147 ggf. .htaccess Einträge im Frontend?


    Zeig uns mal deine .htaccess Dateien?

  • Hallo OnkelP


    Rufst Du das Frontend und Backend eventuell über unterschiedliche Url's auf? Also das Frontend z.B. mit der "www"-Subdomain https://www. und das Backend dann nur mit http:// ? Falls ja, und wenn das Zertifikat ohne Subdomain ausgestellt wurde, hätten wir eine mögliche Erklärung für dieses seltsame Verhalten. Schaut mal bitte genau auf die Url's und wofür das Zertifikat genau gilt.


    Gruß Jan

  • Sorry, dass ich mich so lange nicht gemeldet habe. War unterwegs und hatte eher keinen Zugang zu den gewünschten Infos.


    Die URL ist http://www.huefte-charite.de (ohne www gehts auch).
    Damit dürfte sich auch die Frage von Jan geklärt haben. (Hab natürlich beides versucht.)


    SSL ist meiner Meinung nach richtig konfiguriert. Siehe httpd.conf: (hab nur die Pfade und den Benutzer mal unkenntlich gemacht)
    ...
    <VirtualHost 80.82.223.66:443>
    SSLEngine on
    SSLCertificateFile Pfad/huefte-charite.de.crt
    SSLCertificateKeyFile Pfad/ssl.key/huefte-charite.de.key
    SSLCertificateChainFile Pfad/ssl.crt/huefte-charite.de.ca-bundle
    SuexecUserGroup XXX XXX
    ServerAdmin webmaster
    DocumentRoot Pfad
    Servername huefte-charite.de
    Serveralias www.huefte-charite.de
    AddHandler php-cgi .php
    ScriptAlias /cgi/ Pfad/php/huefte-charite.de/
    Action php-cgi /cgi/php.cgi
    </VirtualHost>
    ...


    An der .htaccess habe ich, soweit ich mich erinnern kann, nichts gemacht. Zur Sicherheit aber auch die noch mal: (auskommentierte Zeilen teilweise gelöscht)
    ...
    ## No directory listings
    IndexIgnore *


    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymlinks
    Options -Indexes


    ## Mod_rewrite in use.


    RewriteEngine On
    ...
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL.
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Return 403 Forbidden header and show the content of the root homepage
    RewriteRule .* index.php [F]
    ...
    ...
    # If the requested path and file is not /index.php and the request
    # has not already been internally rewritten to the index.php script
    RewriteCond %{REQUEST_URI} !^/index\.php
    # and the requested path and file doesn't directly match a physical file
    RewriteCond %{REQUEST_FILENAME} !-f
    # and the requested path and file doesn't directly match a physical folder
    RewriteCond %{REQUEST_FILENAME} !-d
    # internally rewrite the request to the index.php script
    RewriteRule .* index.php [L]
    #
    ## End - Joomla! core SEF Section.


    LG und vielen Dank für eure Mitwirkung
    OnkelP

  • Aus irgendeinem Grund wurde das Thema als erledigt markiert. Keine Ahnung, warum ...
    Leider habe ich dieses Problem aber noch nicht lösen können. Wäre prima, wenn jemand eine Lösung hätte!
    LG OnkelP

  • Auf dem Server darf bei der Nutzung vom SSL Zertifikat kein DNS und DynDNS aktiviert sein.
    Bei Umleitungen funktioniert SSL ebenfalls nicht. Das Zertifikat ist nur für eine Domain.


    Aufrufe mit und ohne www kann man in der .htaccess ändern mit folgendem Zusatz:

    Apache Configuration
    ## Begin - Custom redirects
    #
    # If you need to redirect some pages, or set a canonical non-www to
    # www redirect (or vice versa), place that code here. Ensure those
    # redirects use the correct RewriteRule syntax and the [R=301,L] flags.
    [color=#FF0000]RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,QSA,L][/color]
    #
    ## End - Custom redirects


    Hierdurch wird die Seite generell mit www angezeigt was auch dein SSL-Zertifikat ansprechen sollte.

  • Hallo Marek,


    vielen Dank für Deine Antwort. DNS gibt es nicht auf dem Server. Das ist ein ganz normaler shared Server mit mehreren Domains unter einer IP.
    Ich habe dort Zugang zur httpd.conf und auch schon mal den Eintrag

    Code
    Redirect 301 / [url]https://www.huefte-charite.de/[/url]


    ausprobiert. Ist ja auch sinnvoll, damit keiner die Seiten ohne SSL aufrufen kann.
    Das Redirect funktioniert auch, aber ich habe das selbe Problem mit Joomla.


    Gruß OnkelP

  • Da müsste ich ja die Mehrsprachigkeit abschalten. Das will ich natürlich nicht. Da habe ich Angst, dass ich mir alles zerschieße.
    Ist ja auch eine Joomla interne Weiterleitung. Das sollte eigentlich kein Problem sein, oder?

  • Ich spekuliere das es damit zu tun hat.
    ich glaube nicht das du damit deine Seite zerschießt.
    Ein Versuch ist es meiner Meinung nach wert. Ist ja nur ein Einstellung die du kurz auf der Homeseite (inhalt) änderst.
    Soweit ich weiß funktioniert SSL nicht bei bestimmten Umleitungen. Inwiefern Joomla durch die Mehrsprachigkeit eine Umleitung generiert kann ich nicht sagen.
    Das ssl-Zertifikat gibt es mit www und ohne www. Hier auch mal prüfen welche Adresse du zertifiziert hast.

  • Könnte wirklich an der Mehrsprachigkeit liegen. Die Fehlermeldung sagt ja nichts anderes aus, als das der Server von dort nichts ausgeben werden kann. Die Adresse selbst ist aber bereits mit einem funktionierenden SSL ausgeliefert. Auch wenn es nicht die Fehlermeldung, aber nicht Dein Joomla ist. Einfach mal die Mehrsprachigkeit deaktivieren und dann schauen ob es läuft. Backup nicht vergessen.....


    Gruß Jan

  • @OnkelP


    bitte implementiere einmal bitte diesen Patch: https://github.com/joomla/joomla-cms/pull/12465/files und zeige uns die Fehlermeldung ggf. ist die aufschlussreicher. :)

  • zero24: Hab die entsprechenden Zeilen geändert und das redirect . Die Fehlermeldung im Backend, bei erzwingen von HTTPS bleibt die selbe und im Frontend bekomme ich eine "Not FoundThe requested URL /de/ was not found on this server." (404) nullIch habe spaßeshalber mal eine Testseite angelegt. Die funktioniert ganz einwandfrei. (https://www.huefte-charite.de/test.html oder https://www.huefte-charite.de/test.php) Am php liegt es also auch nicht.



    Die Mehrsprachigkeit habe ich auch abgeschaltet. Keine Verbesserung!


    Irgendeine Idee?


    redirect habe ich wieder ausgeschaltet.

  • Es gibt Neuigkeiten.
    Einem Geistesblitz folgend habe ich mal die "Suchmaschinenfreundliche URL" ausgeschaltet und siehe da, die Seite läuft per https.


    Die Lösung ist das sicher noch nicht, aber vielleicht kann mir jetzt jemand weiterhelfen?



    Update: Habs wieder eingeschaltet. Das Problem ist nur URL-Rewrite. Sobald das läuft, geht nichts mehr.