folgendes Szenario:
ein Windows-Server stellt eine Webseite bereit unter Port 8080, allerdings nur mit http.
Die Software dahinter ist Apache Tomcat.
Firefox meckert natürlich dass die Verbindung nicht verschlüsselt ist.
Ich möchte jetzt den Server auch via HTTPS erreichen können, um diese Meldung zu verhindern.
Da der Server nur im lokalen Netzwerk arbeitet ist neben der Verschlüsselung besonders auch die nicht mehr auftretenden Warnungen für die Anwender wichtig.
Da ich bisher nur mit Apache HTTP Webservern zu tun hatte und weiß wie ich dort HTTPS einrichte, habe ich einen Apache HTTP Server (2.4.39) installiert. (Apache Tomcat verwendet eine Keystore Datei für die SSL Zertifikate mit denen ich noch nie gearbeitet habe und Apache HTTP einfach Base64 Textdateien die ich schon mehrfach eingesetzt habe)
Im Apache HTTP Server habe ich einen vhost auf Port 443 mit HTTPS und einem vertrausenswürdigem Zertifikat (Lokale Unternehmens-CA) erstellt. Darin dann ProxyPass und ProxyPassReverse auf 127.0.0.1:8080.
Einen weiteren vHost mit Port 80 gibt es für ein Redirect auf die HTTPS Seite, sodass man automatisch zur HTTPS Seite gelangt ohne extra https:// schreiben zu müssen.
httpd-ssl.conf
- Code: Select all
Listen 443
<VirtualHost _default_:443>
SSLEngine on
SSLCertificateFile "C:\Apache24\conf\ssl\xxxxxx_zert.crt"
SSLCertificateKeyFile "C:\Apache24\conf\ssl\xxxxx_priv.key"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
httpd-vhost.conf
- Code: Select all
<VirtualHost _default_:80>
# HTTPS Umleitung hier:
Redirect / https://server.domain.local
DocumentRoot "${SRVROOT}/htdocs"
</VirtualHost>
Das ganze funktioniert augenscheinlich erstmal einwandfrei.
Egal ob ich http://server.domain.local oder https://server.domain.local eingebe, lande ich immer auf der Weboberfläche die auf dem Server unter Port 8080 zu finden ist. Also mein Redirect von Port 80 auf Port 443 klappt und auch mein Proxy auf 127.0.0.1:8080.
Links in der Adresszeile von Firefox sieht man das grüne Schlosssymbol, Firefox meldet also dass die Verbindung verschlüsselt ist und meine Zertifizierungsstelle auch als vertrausenswürdig gilt.
Jetzt muss man sich auf der Seite mit Username und Passwort anmelden.
Im Passwortfeld erscheint aber immernoch die Warnung von Firefox:
Diese Verbindung ist nicht verschlüsselt. Hier eingegebene Zugangsdaten könnten in falsche Hände geraten.
Wieso warnt mich Firefox trotz einwandfreier HTTPS Verbindung?
Die Weiterleitung auf dem Server selbst ist genau genommen ja nicht verschlüsselt(?). Allerdings findet sie ja "im Server" statt und verlässt diesen nicht mehr. Merkt Firefox dass trotzdem und warnt deswegen?
Ich habe eine ähnliche Situation mit Nginx statt Apache auf einem anderen Server und da taucht keine Warnung auf.
Ich bin kein Profi für Webserver, ich versuche nur nach und nach alle Server im Unternehmensnetzwerk auf HTTPS umzustellen.
Gibt es eine Kleinigkeit die ich noch konfigurieren muss oder muss ich doch die HTTPS Verbindung direkt im Apache Tomcat konfigurieren? Ich fand es so eigentlich ganz angenehm da ich die eigentliche Serverapplikation gar nicht anfassen muss. Zum einen um nichts "kaputt" zu machen und zum anderen weil ich mit Apache HTTP mehr Erfahrung habe.