HTTP auf HTTPS weiterleiten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Registriere dich um viele Vorteile zu genießen! Weniger Werbung, bessere Kommunikation und vieles mehr!

  • Weiterleitung von HTTP auf HTTPS für die Verwendung von SSL Zertifikaten
    Da das Internet immer wider auch "böse" Menschen hat, haben wir das Vergnügen, unsere Server/Website zu sichern.
    Dies erreichen wir hier durch die Weiterleitung auf HTTPS wobei beachtet werden sollte, das auch das entsprechende SSL Zertifikat vorliegt.
    Für ein SSL Zertifikat mit der Let's Encrypt Service gibt es eine Anleitung im Lexikon.

    Es gibt verschiedene Varianten, wie die Weiterleitung von HTTP auf HTTPS erfolgen, in diesem Beitrag werden wir 4 Varianten ansprechen.


    Variante 1 (Htaccess):

    Bei dieser Variante erstellen wir eine .htaccess Datei im Homeverzeichniss der Homepage, falls noch nicht vorhanden und fügen diesen Inhalt ein nano /var/www/html/.htaccess:

    Quellcode

    1. <ifmodule mod_rewrite.c="">
    2. RewriteEngine On
    3. RewriteCond %{HTTPS} off
    4. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    5. </ifmodule>



    Wenn du dies eingefügt und gespeichert hast, kannst du deine Seite aufrufen und du wirst sehen alle HTTP Anfragen werden direkt weitergeleitet auf HTTPS.



    Variante 2 (Apache2):

    Hier machen wir das ganz ähnlich wie bei der Variante 1, nur das wir dies direkt bei der Apache2 Konfiguration einstellen.
    Öffne als erstes die Konfiguration nano /etc/apache2/httpd.conf in der änderst oder fügst du folgendes hinzu wenn die Datei noch leer ist.


    Quellcode

    1. <virtualhost vhost.example.tld="">
    2. ServerName "vhost.example.tld"
    3. DocumentRoot "/var/www/website1"
    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. SSLEngine on
    10. SSLCertificateKeyFile /etc/apache2/..../server.key #Link zur .key
    11. SSLCertificateFile /etc/apache2/..../server.crt #Link zur .crt
    12. </virtualhost>
    Alles anzeigen


    Nun brauchst du noch den Apache2 Server Neustarten mit folgendem Befehl service apache2 restart und fertig.

    Variante 3 (Nginx):

    Bei Nginx sieht die Config dann so aus nano /etc/nginx/nginx.conf

    Quellcode

    1. server {
    2. listen 80;
    3. server_name example.tld www.example.tld;
    4. return 301 https://$server_name$request_uri;
    5. }
    6. server {
    7. listen 443 ssl spdy;
    8. server_name expample.tld www.example.tld;
    9. ssl on;
    10. ssl_certificate /var/www/devly.co/cert/ssl-bundle.crt;
    11. ssl_certificate_key /var/www/devly.co/cert/devly_co.key;
    12. access_log /var/log/nginx/devly.co.access.log rt_cache;
    13. error_log /var/log/nginx/devly.co.error.log;
    14. root /var/www/example.tld/htdocs;
    15. index index.php index.htm index.html;
    16. include common/wpfc.conf;
    17. include common/wpcommon.conf;
    18. include common/locations.conf;
    19. }
    Alles anzeigen

    Nun brauchst du noch den Nginx Service Neustarten mit folgendem Befehl service nginx restart und fertig.



    Variante 4 (Plesk12):

    Bei Plesk ist es eigentlich das gleiche wie bei der Variante 2 nur das hier das an einem anderen Ort eingefügt werden muss.
    Hier bei den Domain Einstellungen gehst du auf Apache & nginx Einstellungen.
    dev-tek.de/Attachment/229/?s=c…95319f84c1d8df61767cc5787

    Da fügst du bei Zusätzliche Apache-Anweisungen unter HTTP ein, da wir ja nur möchten das du weitergeleitet wirst, wenn man die Domain mit HTTP aufruft auf HTTPS weiterleitet.

    dev-tek.de/Attachment/230/?s=c…95319f84c1d8df61767cc5787


    Quellcode

    1. <IfModule mod_rewrite.c>
    2. RewriteEngine On
    3. RewriteCond %{HTTPS} off
    4. RewriteCond %{HTTP_HOST} ^www\.(.*)$
    5. RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
    6. RewriteCond %{HTTPS} off
    7. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    8. </IfModule>
    Bei Nginx sieht der sieht es gefolgt aus:


    Quellcode

    1. server {
    2. listen 80;
    3. server_name example.tld;
    4. return 301 https://$server_name$request_uri;
    5. }

    Nach dem einfügen und Speichern wurde dies schon übernommen und man muss den Service nicht neustarten von Apache2 wie bei Variante 2 dies übernimmt hier Pesk schon für uns.




    Ich hoffe dieser Beitrag war hilfreich für Dich. ^^

    525 mal gelesen

Kommentare 6