web-dev-qa-db-fra.com

Eclipse WTP: Comment activer SSL sur Tomcat?

Eclipse WTP crée son propre fichier server.xml qu'il place dans un dossier qui configure l'instance Tomcat que vous exécutez pour votre projet Web. Si vous double-cliquez sur le serveur dans la liste des serveurs, vous obtenez un écran sympa qui facilite la configuration de certains aspects du fichier server.xml.

Comment configurer une nouvelle connexion pour autoriser les connexions SSL sur le port 8443. Chaque fois que je modifie le fichier server.xml manuellement, Eclipse remplace mes modifications par les paramètres qu'il a stockés dans la page des propriétés du serveur de la configuration et il semble qu'il n'y ait aucun moyen pour ajouter un nouveau connecteur à partir de l'interface fournie par Eclipse.

Est-ce possible? Voici le connecteur que je veux ajouter:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="D:\Apache-Tomcat-6.0.18\keystore\key.ssl" keystorePass="pass"
    clientAuth="false" sslProtocol="TLS" />
41
Peter D

Si vous avez déjà créé le serveur, vous pouvez modifier le modèle server.xml qu'il copie. Si vous utilisez l'explorateur de projets, il se trouve sous Autres projets -> Serveurs -> nom du serveur Tomcat -> server.xml

70
yincrash

Voici comment le faire fonctionner:
Créez le magasin de clés:

keytool -genkey -alias Tomcat -keypass mypassword -keystore keystore.jks -storepass mypassword -keyalg RSA -validity 360 -keysize 2048

(Suivez les invites et remplissez les informations)
Il devrait ensuite enregistrer un fichier keystore.key dans votre répertoire personnel.
Pour le faire fonctionner dans Eclipse:

<Connector port="8443" SSLEnabled="true"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="true" disableUploadTimeout="true"
        acceptCount="100" debug="0" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLSv1"
        keystoreFile="/home/myUsername/workspace/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/conf/keystore.key"
        keystorePass="mypassword" />

Le chemin ci-dessus pour keystoreFile est quelque chose que vous devez absolument obtenir pour que cela fonctionne. Lorsque Eclipse utilise un emplacement de métadonnées d'espace de travail pour exécuter Tomcat, il copie certains fichiers dans un chemin d'accès semblable à celui ci-dessus. Sous OS X, ce serait:

/Users/<username>/Documents/workspace/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/conf/keystore.key

J'espère que cela pourra aider.

Pour plus de référence: HOW-TO de configuration SSL/TLS dans Apache Tomcat 7

31
Nikhil R

Je l'ai compris. Lorsque vous créez un nouveau serveur pour la première fois dans la vue Serveurs, cliquez dessus avec le bouton droit de la souris et sélectionnez Nouveau> Serveur. Eclipse WTP prend votre fichier existant server.xml de l'installation de Tomcat et crée le nouveau fichier server.xml pour votre projet en utilisant l'original comme modèle.

Si vous modifiez le server.xml d'origine avec la configuration dont vous avez besoin AVANT de créer un nouveau serveur dans Eclipse, vous conserverez ces paramètres.

C'est dommage qu'Eclipse ne permette pas d'ajouter ces types de configurations après coup.

3
Peter D

Pourvu que vous ayez le (s) certificat (s) et le magasin de clés comme mentionné précédemment dans cet article, j'ai trouvé la solution suivante pour configurer Eclipse pour pouvoir communiquer avec les serveurs SSL. Lorsque vous utilisez l'outil de configuration Tomcat, vous devez ajouter des entrées à l'onglet "Java", à la zone de texte "Options Java", comme suit:

-Dbusinessobjects.orb.oci.protocol=ssl
-Dcertdir=c:\ssl
-DtrustedCert=c:\ssl\cacert.der
-DsslCert=c:\ssl\servercert.der
-DsslKey=c:\ssl\server.key
-Dpassphrase=c:\ssl\passphrase.txt

De même dans Eclipse, cliquez avec le bouton droit sur le nom du serveur dans la fenêtre Explorateur de projets, cliquez sur Profil en tant que | Configurations de profil | Arguments et ajoutez les mêmes options répertoriées ci-dessus à la zone de texte "Arguments VM:". Cela devrait vous permettre d'exécuter et de déboguer des programmes à nouveau sur des serveurs compatibles SSL.

zone de texte Eclipse "Arguments VM:"

1
kjdubya