Unter Tomcat ist es recht einfach ein selbstsigniertes (Self Signed) Zertifikat einzurichten. Diese Anleitung zeigt die nötigen Schritte um ein Self Signed Zertifikat zu erstellen, in Tomcat einzubinden und HTTP-Anfragen automatisch auf HTTPS umzuleiten.
Inhaltsverzeichnis
Keystore und Zertifikat erstellen
Der Keystore und das Zertifikat werden mit dem Java-Kommandozeilentool keytool erzeugt. Dafür ist eine Eingabeaufforderung zu öffnen und in das Verzeichnis bin innerhalb des Installationsverzeichnisses von Java zu wechseln. Bei mir ist es beispielsweise C:\Program Files (x86)\Java\jre1.8.0_144\bin.
Mit folgendem Befehl lässt sich dann der Keystore samt Zertifikat erstellen:
keytool -genkey -keystore C:\Tomcat\ssl\.keystore -alias localhost -keyalg RSA -keysize 4096 -validity 365
Der Parameter alias dient seitens Java nur zur Identifizierung des Zertifikats innerhalb des Keystores, da ein Keystore durchaus mehrere Zertifikate enthalten kann. Schließlich wird noch die Schlüssellänge und die Gültigkeit des Zertifikats in Tage angegeben. Nachdem der Befehl abgeschickt wurde, werden mehrere Fragen gestellt, von denen die meisten nicht zwingend beantwortet werden müssen. Die zweite Frage nach dem Vor- und Nachnamen sollte jedoch mit der Domain, die durch das Zertifikat geschützt werden soll, beantwortet werden, da hiermit eigentlich der Common Name (CN) gemeint ist.

Tomcat konfigurieren
Nachdem Keystore und Zertifikat erzeugt sind, ist die Datei server.xml aus dem conf-Verzeichnis des Tomcat zu bearbeiten. Folgender Connector ist hinzuzufügen:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keyAlias="localhost" keystoreFile="C:\Tomcat\ssl\.keystore"
keystorePass="password" />
Der Alias, der Pfad zu dem Keystore und das Keystore-Passwort sind natürlich entsprechend anzupassen.

Nach einem Neustart des Tomcat ist die Seite per HTTPS über https://localhost:8443 (natürlich nach einem Zertifikatsfehler, da das Zertifikat selbstsigniert ist) zu erreichen:

Veraltete Protokolle abschalten
Standardmäßig können immer noch Verbindungen über alte Protokolle wie TLS 1.0 oder TLS 1.1 aufgebaut werden. Es empfiehlt sich nur noch Verbindungen über die aktuellen Protokolle TLS 1.2 und TLS 1.3 zu erlauben. Dafür ist dem Connector folgender Parameter hinzuzufügen:
sslEnabledProtocols="TLSv1.2+TLSv1.3"
Der gesamte Connector sieht schließlich wie folgt aus:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
sslEnabledProtocols="TLSv1.2+TLSv1.3"
keyAlias="localhost" keystoreFile="C:\Tomcat\ssl\.keystore"
keystorePass="password" />
Automatisch HTTP zu HTTPS umleiten
Sollte HTTPS erzwungen werden, lässt sich dies mit einer kleinen weiteren Anpassung in der Datei web.xml aus dem conf-Verzeichnis des Tomcat erledigen. Dazu muss einfach folgender Block vor dem schließenden web-app Tag </web-app> eingefügt werden:
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<!-- Der auth-constraint ist hier einzufügen, falls eine Authentifizierung verwendet werden soll.
Siehe Tutorial "Tomcat Passwortschutz für Webapplikationen"
-->
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
https://nocksoft.de/tutorials/tomcat-passwortschutz-fuer-webapplikationen/
Auch hier ist der Tomcat natürlich wieder neuzustarten.
Wenn der Port für HTTPS geändert werden soll, muss der Port fortan an zwei Stellen in der Datei server.xml geändert werden:

Update 02.09.2020
Unter manchen Konstellationen oder mit manchen Webapplikationen funktioniert die oben beschriebene Konfiguration in der Datei web.xml für die automatische Weiterleitung nicht. In diesem Fall ist alternativ folgendes Vorgehen zu verwenden:
In der Datei server.xml muss innerhalb des Blockes <Host name="localhost"... folgender Eintrag ergänzt werden:
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />

Im Verzeichnis conf\Catalina\localhost ist schließlich eine Datei "rewrite.config" mit folgendem Inhalt zu erstellen:
RewriteCond %{HTTPS} =off
RewriteRule ^(.*) https://%{HTTP_HOST}:443$1 [R=301]
Nach einem Tomcat-Neustart sollte die neue alternative Weiterleitungskonfiguration nun funktionieren.
Weiterführende Links
https://ssl-trust.com/csr-erstellen/tomcat
https://ssl-trust.com/ssl-zertifikat-installieren/tomcat
Quellen
https://coolestguidesontheplanet.com/redirecting-http-https-tomcat/
https://gist.github.com/jtgasper3/10501274