HTTPS (certbot-auto) erzwingen mit .htaccess

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemException.

    HTTPS (certbot-auto) erzwingen mit .htaccess

    Hallo zusammen, mal wieder!

    Da ich auf meine letzte Frage sehr schnelle Antwort bekam, wollte ich diesesmal direkt hier ansetzen!
    Ich habe immer noch den einen Server mit der Domain https://status.nani-games.net/...
    Das "HTTPS" wurde mit certbot-auto von der Firma Let's Encrypt ermöglicht, wie auch hier im Forum.
    Nun zu meinem Problem: Ruft man die Seite ohne "https://" auf, so wird die Seite als "unsicher" markiert und man bekommt eine
    dementsprechende Warnung. Nun weiß ich zufällig, durch meine gestrigen Recherchen, dass auch dies mittels einer .htaccess Datei
    gelöst werden kann. Allerdings passiert bei mir mal wieder rein gar nischd.

    Hier die notwendigen Informationen:
    Spoiler anzeigen

    - Der Inhalt meiner .htaccess-Datei:

    Quellcode

    1. RewriteEngine On
    2. RewriteBase /
    3. RewriteCond %{HTTPS} off
    4. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    - Die Datei liegt in ~/var/www/html.
    - Berechtigung: 777
    - Server: Linux Debian 8.x, Apache2
    - Domain leitet auf das ~/var/www/html Verzeichnis


    Ich hoffe ihr könnt mir wieder so schnell weiterhelfen!
    LG David ?(

    P.S: Ich möchte darauf hinweisen, dass ich diesen Thread (von @Marcus Gräfe) bereits gelesen habe (den da auch) und keine der vorgeschlagenen Lösungen bei mir Wirkung zeigte... Ich denke ich mache irgendwas grundsätzlich falsch....

    P.S.S: Dieser Code funktionierte für meinen anderen Server mit der Domain "nani-games.net" einwandfrei. Wie mache ich das jetzt mit der Subdomain? Das ist die einzige Domain, welche auf den 2. Server weiterleitet...

    *Topic verschoben*
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Heyho,

    mod_rewrite module ist bei apache2 auch installiert? bzw aktiv?
    Falls ja und du eh auf die vHosts zugriff hast mache das ganze in der vHost so sparst du dir die htaccess.

    Quellcode

    1. <Virtualhost vhost.domain.com>
    2. ServerName vhost.domain.com
    3. DocumentRoot /var/www/html
    4. <IfModule mod_rewrite.c>
    5. RewriteEngine On
    6. RewriteCond %{HTTPS} off
    7. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    8. </IfModule>
    9. </Virtualhost>


    Sollte das tun was du willst.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hey!

    Ich habe jetzt einfach mal spontan das rewrite nochmal enabled und den Service neugestartet:

    Quellcode

    1. root@srv50067:/etc/apache2# a2enmod rewrite
    2. Enabling module rewrite.
    3. To activate the new configuration, you need to run:
    4. service apache2 restart
    5. root@srv50067:/etc/apache2# service apache2 restart

    So funktioniert die htaccess Datei immer noch nicht.
    Wie richte ich so einen VirtualHost ein?
    Ich weiß, dass man in /etc/apache2/sites-available/ etwas einstellen muss, allerdings weiß
    ich net genau was und wie. Wenn ich danach recherchiere, wird dort eine "default" Datei genannt... Das Problem: Ich habe drei davon....
    000-default-le-ssl.conf, 000-default.conf, default-ssl.conf


    P.S: Hab extra nochmal nachgeschaut mittels phpinfo();:

    Quellcode

    1. core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_socache_shmcb mod_ssl mod_status

    mod_rewrite steht da dabei...

    LG David
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Ok,

    fangen wir mal von vorne an:

    Was genau passiert wenn du die .htaccess auf den Server lädst?
    Hast du schon in den Apache2 Log geschaut was das Problem sein kann? Falls nein,
    lad die .htaccess mal hoch in dein Verzeichnis lade die Seite neu, und schaue dir die letzten Zeilen im Apache2 Log an ggf. poste sie hier in einem Spoiler.
    Folgende .htaccess funktioniert auf meinen Servern ohne Probleme:
    Spoiler anzeigen

    Quellcode

    1. RewriteEngine On
    2. RewriteCond %{HTTPS} !=on
    3. RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]



    Desweiteren zum vHost:
    Ich würde da ganz normal einen neuen vHost anlegen. Hier dazu etwas auf Deutsch: legacy.thomas-leister.de/apach…uration-mit-virtualhosts/
    Die Frage die sich mir stellt inwiefern bist du Fit mit der ganzen Materie? Sei dir bewusst das Fehlkonfigurationen deinerseits fatale folgen haben können.
    Am Ende bist du der "doofe" wenn irgendwas passiert.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hey, danke für deine Antwort!

    Ja, das, was du da geschrieben hast an .htaccess code, klappte auf meinem 1. Server auch.
    Um das vllt etwas besser verstehen zu können, hier eine Übersicht:

    Brainfuck-Quellcode

    1. +----------+----------------+-----------------------+--------------+
    2. | Name | IP | Domain | .htaccess |
    3. +----------+----------------+-----------------------+--------------+
    4. | Server 1 | 185.245.96.239 | nani-games.net | klappt |
    5. | Server 2 | 185.245.96.155 | status.nani-games.net | klappt nicht |
    6. +----------+----------------+-----------------------+--------------+

    Auf Server 1 habe ich das identische Skript, wie auf Server 2. Trotzdem funktioniert es nur bei Server 1. Ich schätze das liegt an der Subdomain?
    Meine Kenntnisse decken viele Gebiete grob ab, einige auch im Detail, aber zugegebenermaßen reichen sie nicht überall bis ins Detail. Aber daran kann man ja arbeiten.
    Danke für deine Hilfe... Ich versuche das mal mit dem Virtual Host hinzubekommen und gehe dabei vorsichtig vor.
    Trotzdem geht mir nicht in den Kopf, weshalb diese .htaccess Sache nicht klappen möchte. Vielleicht hat ja jetzt, mit Hilfe der Tabelle, jemand eine Idee,
    was ich an dem Skript ändern muss, um mein Ziel auf dem ursprünglichen Wege zu erreichen..

    LG
    David
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Ich werfe mal die AllowOverride-Direktive in den Raum: AllowOverride Directive
    Je nach Konfiguration kann das ändern von Direktiven via .htaccess damit unterbunden werden.
    Heyho,

    ehm ja das vorhaben an sich hab ich verstanden. Ich hoffe ja das die ".htaccess" für deine Subdomain auch auf Server 2 liegt?
    Nicht das wir uns hier die mühe machen und du die einfach nur falsch hochgeladen hast.

    Leider hast du völlig das mit den Logs überlesen. Denn da könnte evtl. schon die Lösung drin liegen.

    /EDIT/ @slice stimmt. Das könnte es auch noch sein.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hey @xChRoNiKx!

    nein das mit den Logs habe ich nicht überlesen, da bin ich gerade dabei ;)
    Und ja, natürlich liegt die Datei auf dem 2. Server (siehe Post #1).

    Hey @slice!

    Danke für deinen Rat!
    Ich kuck mir das mal an.

    LG
    David

    P.S: Danke für eure Mühe!!
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Welche Version von Apache hast du genau installiert?
    Falls 2.3.9 oder höher sollte das mit slice seinem Tipp schon gewesen sein.

    Da müsstest du dann einfach das AllowOverride All setzten in der .conf.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hey zusammen!

    Also ich habe ich zu einem in der error.log File von Apache2 nachgeschaut: Da steht nix dazu...
    Ich benutze die Apache Version Apache/2.4.10.
    Dementsprechend habe ich in der apache2.conf Datei die AllOverride-Direktive auf All gestellt.
    Anschließend den Service einmal via service apache2 restart neugestartet... Immer noch nicht.

    Ich meine ihr könnt euch davon ja selbst überzeugen: status.nani-games.net wird nicht zu https://status.nani-games.net/ ....
    Ideen?

    LG
    David

    P.S: Hier mehr zum Inhalt der error.log:
    Spoiler anzeigen

    Quellcode

    1. [Wed Feb 27 00:42:02.556813 2019] [mpm_prefork:notice] [pid 1186] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t configured -- resuming normal operations
    2. [Wed Feb 27 00:42:02.556857 2019] [core:notice] [pid 1186] AH00094: Command line: '/usr/sbin/apache2'
    3. [Wed Feb 27 11:35:06.152052 2019] [:error] [pid 10524] [client 202.161.112.254:40622] script '/var/www/html/reply.php' not found or unable to stat
    4. [Wed Feb 27 14:33:04.928305 2019] [mpm_prefork:notice] [pid 1186] AH00169: caught SIGTERM, shutting down
    5. [Wed Feb 27 14:33:06.156365 2019] [mpm_prefork:notice] [pid 13952] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t configured -- resuming normal operations
    6. [Wed Feb 27 14:33:06.156449 2019] [core:notice] [pid 13952] AH00094: Command line: '/usr/sbin/apache2'


    P.S: Heyy! Ich habs! Bzw mir konnte ein Kollege freundlicherweise helfen... certbot stellt diese Funktion von hausaus zur Verfügung. Ich musste das Cert erneuern und die Option "Redirect" aktivieren. Hatte das wohl beim ersten mal überlesen.....
    Danke euch!

    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SystemException“ ()

    Dann mal folgendes:

    schreibe in deine .htaccess mal folgendes:

    Quellcode

    1. ​Test.
    2. # Set the default handler
    3. DirectoryIndex index.php index.html index.htm


    abspeichern, hochladen und Seite aktualisieren.
    Kommt ein "Internal Server Error"? Wenn ja dann ist das schon mal sehr gut.

    Falls nicht hast du wahrscheinlich irgendwo das AllowOverride falsch gesetzt,
    schau noch mal drüber ob das richtig gesetzt ist.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Ich weiß ja nicht wo dein Problem liegt, aber bei mir funktioniert es:

    Quellcode

    1. $ dump_header http://status.nani-games.net/
    2. HTTP/1.1 301 Moved Permanently
    3. Date: Wed, 27 Feb 2019 19:48:41 GMT
    4. Server: Apache/2.4.10 (Debian)
    5. Location: https://status.nani-games.net/
    6. Content-Length: 325
    7. Content-Type: text/html; charset=iso-8859-1
    Hey @slice!

    Schau mal mein letztes Edit :)

    SystemException schrieb:

    P.S: Heyy! Ich habs! Bzw mir konnte ein Kollege freundlicherweise helfen... certbot stellt diese Funktion von hausaus zur Verfügung. Ich musste das Cert erneuern und die Option "Redirect" aktivieren. Hatte das wohl beim ersten mal überlesen.....
    Danke euch!

    Jetzt funktioniert es ja.
    Hatte das wohl überlesen...
    Tut mir aufrichtig leid!

    Angenehmen Abend!
    David
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    @slice er hat seinen Post editiert siehe quote. Vorhin als ich es getestet habe ging der Redirect noch nicht.

    SystemException schrieb:

    P.S: Heyy! Ich habs! Bzw mir konnte ein Kollege freundlicherweise helfen... certbot stellt diese Funktion von hausaus zur Verfügung. Ich musste das Cert erneuern und die Option "Redirect" aktivieren. Hatte das wohl beim ersten mal überlesen.....
    Danke euch!



    Trotz dessen solltest du nachschauen ob dein .htaccess richtig funktioniert oder nicht. Bzw. so funktioniert wie du das willst ;)
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hey, ja klar natürlich.
    Werd jetzt deinen eben gemachten Vorschlag umsetzen!
    Danke!

    // Edit: Hey nochmal. Habe deine vorgeschlagene .htaccess Datei nun so hochgeladen:

    Es kommt keine Fehlermeldung.
    Die Direktive habe ich ganz sicher richtig gesetzt. Habe mich dazu jetzt nochmal extra schnell informiert.
    Habe alles richtig gemacht, denke ich....
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SystemException“ ()