Weiterleitung HTTP zu HTTPS

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Servus zusammen,

    ich hoffe jemand ist vor den Weihnachtsferien noch aktiv bzw. kann mir helfen :P

    Auf meinem PI läuft ein Webserver, welcher mit Apache2 betrieben wird, dessen URL bei strato hinterlegt ist. Ich nenne sie mal: http://www.meineurl.de

    Auf no-ip.com habe ich eine DDNS eingerichtet. Diese nenn ich mal: raspi.servebeer.com

    Der Webserver reagiert sowohl auf http://www.meineurl.de als auch auf http://www.raspi.servebeer.com

    So eine ungesicherte Website ist natürlich nicht der burner, weshalb ich mich nach einem ssl zertifkat umgeschaut habe

    und bin bei letsencrypt fündig geworden. Dieses habe ich auch installiert und über https wird mir die Homepage über beide

    URLs angezeigt. Folglich stimmt die Portweiterleitung und das Zertifikat ist erfolgreich installiert. Hurra.

    Hier is der Quellcode zur Datei: /etc/apache2/sites-enabled/000-default.cont

    <VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteRule ^(.*)$ https://%%7bhttp_host%7d%241 [R=301,L]

    </IfModule>

    RewriteCond %{SERVER_NAME} =http://www.raspi.servebeer.com

    </VirtualHost>

    Hier is der Quellcode zur Datei: /etc/apache2/sites-enabled/default-ssl.conf

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/http://raspi.servebeer.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/http://raspi.servebeer.com/privkey.pem
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>
    </VirtualHost>
    </IfModule>

    Nun zu meiner eigentlichen Frage: Kann ich meinen PI bzw. die Einstellungen der FIles, die für das aufrufen des SSL Zertifikats

    zuständig sind, so konfigurieren, dass ich eine Weiterleitung bei einer HTTP-Anfrage auf meinen Webserver diese automatisch an

    HTTPS weiterleiten kann? Wenn ja wie mache ich das?

    Vielen Dank schonmal für eure Antworten!

    5 Mal editiert, zuletzt von Zache (19. Dezember 2018 um 14:05)

  • Wenn ich den Code so in /etc/apache2/sites-enabled/000-default.conf kopiere und den Webserver wieder starte bekomm ich folgende Fehlermeldungen:


    Dez 19 14:22:19 raspberrypi apachectl[1767]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/000-default.conf
    Dez 19 14:22:19 raspberrypi apachectl[1767]: AH00112: Warning: DocumentRoot [/usr/local/apache2/htdocs] does not exist
    Dez 19 14:22:19 raspberrypi apachectl[1767]: AH00112: Warning: DocumentRoot [/usr/local/apache2/htdocs] does not exist

    2 Mal editiert, zuletzt von Zache (19. Dezember 2018 um 14:25)

  • Den einzigen Unterschied, den ich sehe ist, ass es n anderes Verzeichnis und dieses in Klammern steht. Mehr auch nicht :D

    So ich hab das DocumentRoot geändert, jedoch bekomme ich immer noch die selbe Fehlermeldung.

    Warum ist das so?!

    Dez 20 07:07:01 raspberrypi apachectl[14914]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/000-default.conf:1
    Dez 20 07:07:01 raspberrypi apachectl[14914]: AH00112: Warning: DocumentRoot [/usr/local/apache2/htdocs] does not exist
    Dez 20 07:07:01 raspberrypi apachectl[14914]: Action 'start' failed.
    Dez 20 07:07:01 raspberrypi apachectl[14914]: The Apache error log may have more information.
    Dez 20 07:07:01 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited status=1
    Dez 20 07:07:01 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.


    Meine zwei Files, unter sites-enabled wie sites-available, sehen jetzt wie folgt aus. Hab ich in dieses vielleicht noch einen Fehler drin?

    /etc/apache2/sites-enabled/000-default.conf



    NameVirtualHost *:80
    <VirtualHost *:80>
    ServerName http://www.meineurl.de
    Redirect / https://meineurl.de
    </VirtualHost>

    <VirtualHost _default_:443>
    ServerName meineurl.de
    DocumentRoot /var/www/html
    SSLEngine On

    SSLCertificateFile /etc/letsencrypt/live/http://awvraspi.servebeer.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/http://awvraspi.servebeer.com/privkey.pem
    </VirtualHost>


    /etc/apache2/sites-enabled/default-ssl.conf


    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerName http://www.awvraspi.servebeer.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/http://awvraspi.servebeer.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/http://awvraspi.servebeer.com/privkey.pem
    <FilesMatch "\.(html|cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>
    </VirtualHost>
    </IfModule>

    Ich verzweifel wirklich, bitte deshalb um eure Hilfe das Problem schnellstmöglich gelöst zu bekommen....

    Edit: Nochmal ne dumme Frage: Muss ich bei meinem DynDNS-Host und/oder meinem URL-Anbieter auch SSL aktivieren oder geschieht die Weiterleitung von http zu https ausschließlich auf meinem PI?


    3 Mal editiert, zuletzt von Zache (20. Dezember 2018 um 07:34)

  • Meine /sites-available/default.conf

    Spoiler anzeigen

    <VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on

    RewriteCond %{SERVER_NAME} =meine.seite.de

    RewriteRule ^ https://%%7bserver_name%7d%%7brequest_uri} [END,NE,R=permanent]

    </VirtualHost>


    Meine /sites-available/ssl.conf

    Spoiler anzeigen

    IfModule mod_ssl.c>

    <VirtualHost *:443>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ServerName meine.seite.de

    Include /etc/letsencrypt/options-ssl-apache.conf

    Include /etc/letsencrypt/options-ssl-apache.conf

    SSLCertificateFile /etc/letsencrypt/live/http://meine.seite.de/cert.pem

    SSLCertificateKeyFile /etc/letsencrypt/live/http://meine.seite.de/privkey.pem

    SSLCertificateChainFile /etc/letsencrypt/live/http://meine.seite.de/chain.pem

    </VirtualHost>

    </IfModule>


  • Am besten einen virtuellen Host einrichten und dann das lets encrypt Script laufen lassen.

    Das fragt dann ob man eine Umleitung will.

    Bei einem Ubuntu-Server steht dann so was drin (Apache, vor dem Ende von VirtualHost):

    Apache Configuration
    RewriteEngine on
    RewriteCond %{SERVER_NAME} = machine.domain.ch
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
  • RewriteEngine on RewriteCond %{SERVER_NAME} = machine.domain.ch RewriteRule ^ https://%%7bserver_name%7d%%7brequest_uri} [END,NE,R=permanent]


    Hatten wir schon in #6:

    Zitat

    RewriteEngine on

    RewriteCond %{SERVER_NAME} =meine.seite.de

    RewriteRule ^ https://%%7bserver_name%7d%%7brequest_uri} [END,NE,R=permanent]

    Deshalb wirds jetzt vllt. auch nichts mehr mit Port 80.

  • Deine Fehlermeldung kommt von irgend so einem Symantec Security Schlangenöl, welches dir den Zugang aus obskuren Gründen verwehrt.

    Wenn du das nicht selbst einsetzt, wird es wohl dein ISP tun (was ich bezweifle). Da hilft dir keine Apache-Config.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Die Fehlermeldung bekomm ich auf der Arbeit, wenn ich es über mein Handy aufruf (Chrome) bekomme ich eine Seite mit nem traurigen smiley ohne erklärung warum..

    Einmal editiert, zuletzt von Zache (20. Dezember 2018 um 09:18)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!