Wenn Sie eine Java-Webanwendung entwickeln, sollten Sie erwägen, sie auf dem Open-Source-JBoss-AS-Java-Anwendungsserver bereitzustellen.
Dieses Tutorial erläutert, wie Sie JBoss mit SSL-Unterstützung unter Linux installieren.
1. Laden Sie JBoss AS 7
herunterDie aktuelle stabile Version von Jboass AS ist 7.1.1. Laden Sie es hier herunter.
Oder verwenden Sie wget, um es direkt herunterzuladen, wie unten gezeigt:
cd /usr/save wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip unzip jboss-as-7.1.1.Final.zip
2. Legen Sie JBOSS_HOME
festIch behalte den jboss gerne im /home-Verzeichnis und setze das JBOSS_HOME entsprechend wie unten gezeigt.
cd /usr/save mv jboss-as-7.1.1.Final /home export JBOSS_HOME=/home/jboss-as-7.1.1.Final
Stellen Sie außerdem sicher, dass Sie JBOSS_HOME zu Ihrem ~/.bash_profile-Verzeichnis hinzufügen.
3. Überprüfen Sie die Java-Version
Sie benötigen JDK 1.6 oder höher, um Java AS 7 auszuführen. Wenn Sie JDK nicht auf Ihrem System installiert haben, laden Sie es hier herunter.
Auf meinem System ist das JDK bereits installiert.
# java -version java version "1.6.0_31" ..
4. Starten und stoppen Sie den JBoss-Server
Verwenden Sie das standalone.sh-Skript, um den JBoss-Server wie unten gezeigt zu starten. Verwenden Sie nohup und &, um den JBoss-Server im Hintergrund auszuführen.
# nohup sh $JBOSS_HOME/bin/standalone.sh &
Nachdem Sie den JBoss-Server gestartet haben, sollten Sie auf http://localhost:8080 zugreifen können, um auf den JBoss-Server zuzugreifen.
Wenn Sie über die IP-Adresse auf JBoss zugreifen möchten, sollten Sie JBoss AS erlauben, eine Remote-Verbindung zu akzeptieren.
Um den JBoss-Server herunterzufahren, beenden Sie nicht einfach den Hintergrundprozess. Verwenden Sie stattdessen das folgende jboss-cli.sh-Skript und senden Sie den Shutdown-Befehl wie unten gezeigt an den JBoss-Server.
$JBOSS_HOME/bin/jboss-cli.sh --connect --command=:shutdown
5. Java-Schlüsselspeicher erstellen
Lassen Sie uns die für JBoss erforderlichen Schlüssel unter /usr/save/keystore
erstellenmkdir /usr/save/keystore cd /usr/save/keystore
Verwenden Sie den Befehl Java Keytool Genkey, um das RSA-Schlüsselpaar und das selbstsignierte Zertifikat wie unten gezeigt zu erstellen.
# /usr/java/jdk1.6.0_31/bin/keytool -v -genkey -alias jbosskeys -keyalg RSA -keysize 1024 -keystore jbosskeys.jks -keypass SecretPwd -storepass SecretPwd -validity 365 -dname "CN=localhost" Generating 1,024 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 365 days for: CN=localhost
6. Zertifikat exportieren und importieren
Exportieren Sie das Zertifikat in eine CRT-Datei.
# /usr/java/jdk1.6.0_31/bin/keytool -v -export -rfc -alias jbosskeys -file localfile.crt -keystore jbosskeys.jks -keypass SecretPwd -storepass SecretPwd Certificate stored in file <localfile.crt>
Importieren Sie die crt-Datei in den Keystore.
# /usr/java/jdk1.6.0_31/bin/keytool -v -import -keypass SecretPwd -noprompt -trustcacerts -alias localhost -file localfile.crt -keystore cacerts.jks -storepass SecretPwd Certificate was added to keystore [Storing cacerts.jks]
7. Standalone.conf ändern
Ändern Sie die Datei /home//jboss-as-7.1.1.Final/bin/standalone.conf und fügen Sie die folgenden JAVA_OPTS-Parameter hinzu.
JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.keyStorePassword=SecretPwd" JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.trustStorePassword=SecretPwd" JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.keyStoreType=JKS" JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.trustStoreType=JKS" JAVA_OPTS="$JAVA_OPTS \-DCLIENT_KEY_ALIAS=jbosskeys" JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.keyStore=/usr/save/keystore/jbosskeys.jks" JAVA_OPTS="$JAVA_OPTS \-Djavax.net.ssl.trustStore=/usr/save/keystore/cacerts.jks"
8. SSL-Einträge in standalone.xml hinzufügen
Ändern Sie /home//jboss-as-7.1.1.Final/standalone/configuration/standalone.xml wie unten gezeigt.
Fügen Sie zunächst in der Datei standalone.xml nach dieser Zeile die folgenden SSL-Connector-Informationen hinzu:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="connect" secure="true"> <ssl name="ssl" protocol="TLSv1" password="SecretPwd" certificate-key-file="/usr/save/keystore/jbosskeys.jks" ca-certificate-file="/usr/save/keystore/cacerts.jks" verify-client="true" /> </connector>
Fügen Sie als Nächstes in der Datei standalone.xml nach dieser Zeile die folgende Zeile hinzu:
<socket-binding name="connect" port="8181"/>
Schließlich sollten Sie nach dem Neustart von JBoss über Port 8181 auf JBoss SSL zugreifen können.