Frage Setup SSL (selbst signiertes Zertifikat) mit Tomcat


Ich folge hauptsächlich dieser Seite:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

Ich habe diesen Befehl verwendet, um den Keystore zu erstellen

keytool -genschlüssel -alias tomcat -keyalg RSA -keystore / etc / tomcat6 / keystore

und beantwortete die Aufforderungen

Dann habe ich meine server.xml-Datei bearbeitet und diese Zeile unkommentiert / bearbeitet

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/etc/tomcat6/keystore" 
           keystorePass="tomcat" />

dann gehe ich zur web.xml-datei für mein projekt und füge das in die datei ein

     <security-constraint>
            <web-resource-collection>
                    <web-resource-name>Security</web-resource-name>
                    <url-pattern>/*</url-pattern>
            </web-resource-collection>
            <user-data-constraint>
                    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
    </security-constraint>

Wenn ich versuche, meine Webapp auszuführen, bin ich damit einverstanden:

Unable to connect

Firefox can't establish a connection to the server at localhost:8443.

*   The site could be temporarily unavailable or too busy. Try again in a few
      moments.

*   If you are unable to load any pages, check your computer's network
      connection.

Wenn ich die Zeilen, die ich meiner web.xml-Datei hinzugefügt habe, auskommentiere, funktioniert die Webapp einwandfrei. Meine Logdatei in / var / lib / tomcat6 / logs sagt nichts. Ich kann nicht herausfinden, ob dies ein Problem mit meiner Keystore-Datei, meiner server.xml-Datei oder meiner web.xml-Datei ist ... Jede Hilfe wird geschätzt

Ich benutze Tomcat 6 auf Ubuntu.

Edit: Ich habe meine server.xml in geändert

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/etc/tomcat6/keystore" 
           keystorePass="tomcat" />

falls es ein Problem mit der Autokonfiguration zu "APR" gab, wie es vom Tomcat-Tutorial vorgeschlagen wurde (nicht sicher, ob ich das habe oder wie ich es herausfinden kann). Allerdings bekomme ich immer noch den gleichen Fehler.


8
2018-04-12 03:54


Ursprung


Antworten:


Nun, ich bin ein Idiot ...

Ich hatte den Eindruck, dass Netbeans meinen Server für mich neu startete, weil Eclipse früher wusste, wann Dateien, die neu gestartet werden mussten, geändert wurden und der Server für Sie neu gestartet wurde. Anscheinend hat Netbeans diese Funktionalität nicht. Nachdem ich den Server manuell mit dem Skript unter /etc/init.d/tomcat6 gestartet habe, hat alles funktioniert.

Danke für Ihre Hilfe, Pascal, Ihre Fragen helfen mir, darüber nachzudenken, mit welchen anderen Problemen ich möglicherweise konfrontiert bin.


5
2018-04-12 06:18



Ich habe gerade das gleiche Setup mit einem Vanilla Tomcat auf Ubuntu getestet und:

  • Ich habe einen Schlüsselspeicher erstellt
  • Ich habe den SSL - Connector in server.xml und zeigte auf meinen Schlüsselspeicher
  • Ich habe die Sicherheitsbeschränkung in der web.xml von my-webapp um die Verwendung von SSL zu erzwingen

Und zugreifen https: // localhost: 8443 / meine-webapp funktioniert nur auf meiner Maschine (c).

Greifen Sie auf die Anwendung zu, indem Sie das richtige Protokoll verwenden, z. https:// (beachten Sie die s im https)

Übrigens würde ich empfehlen, das zu setzen redirectPort=8443 Attribut im Nicht-SSL-Konnektor, so dass http: // localhost: 8080 / meine-webapp wird zu weitergeleitet https: // localhost: 8443 / meine-webapp.


1
2018-04-12 04:43