Pokud vyvíjíte Java webovou aplikaci, měli byste zvážit její nasazení na open source aplikačním serveru JBoss AS Java.
Tento tutoriál vysvětluje, jak nainstalovat JBoss s podporou SSL na Linux.
1. Stáhněte si JBoss AS 7
Aktuální stabilní verze Jboass AS je 7.1.1. Stáhněte si jej odtud.
Nebo použijte wget ke stažení přímo, jak je ukázáno níže:
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. Nastavte JBOSS_HOME
Rád bych ponechal jboss v adresáři /home a podle toho nastavil JBOSS_HOME, jak je ukázáno níže.
cd /usr/save mv jboss-as-7.1.1.Final /home export JBOSS_HOME=/home/jboss-as-7.1.1.Final
Také se ujistěte, že jste přidali JBOSS_HOME do svého adresáře ~/.bash_profile.
3. Ověřte verzi Java
Ke spuštění Java AS 7 potřebujete JDK 1.6 nebo vyšší. Pokud nemáte na svém systému nainstalovaný JDK, stáhněte si jej zde.
Ve svém systému již JDK nainstalovaný mám.
# java -version java version "1.6.0_31" ..
4. Spusťte a zastavte server JBoss
Ke spuštění serveru JBoss použijte skript standalone.sh, jak je znázorněno níže. Použijte nohup a &ke spuštění serveru JBoss na pozadí.
# nohup sh $JBOSS_HOME/bin/standalone.sh &
Po označení serveru JBoss hvězdičkou byste měli mít přístup k http://localhost:8080 pro přístup k serveru JBoss.
Pokud chcete přistupovat k JBoss pomocí ip-adresy, měli byste povolit JBoss AS přijímat vzdálené připojení.
Chcete-li vypnout server JBoss, nezabíjejte jednoduše proces na pozadí. Místo toho použijte následující skript jboss-cli.sh a odešlete příkaz k vypnutí serveru JBoss, jak je znázorněno níže.
$JBOSS_HOME/bin/jboss-cli.sh --connect --command=:shutdown
5. Vytvořit úložiště klíčů Java
Vytvořme klíče požadované pro JBoss v /usr/save/keystore
mkdir /usr/save/keystore cd /usr/save/keystore
Pomocí příkazu java keytool genkey vytvořte pár klíčů RSA a certifikát s vlastním podpisem, jak je uvedeno níže.
# /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. Exportní a importní certifikát
Exportujte certifikát do souboru crt.
# /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>
Importujte soubor crt do úložiště klíčů.
# /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. Upravte soubor standalone.conf
Upravte soubor /home//jboss-as-7.1.1.Final/bin/standalone.conf a přidejte následující parametry JAVA_OPTS.
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. Přidejte položky SSL do souboru standalone.xml
Upravte soubor /home//jboss-as-7.1.1.Final/standalone/configuration/standalone.xml, jak je uvedeno níže.
Nejprve do souboru standalone.xml přidejte následující informace o konektoru SSL za tento řádek:
<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>
Dále do souboru standalone.xml přidejte následující řádek za tento řádek:
<socket-binding name="connect" port="8181"/>
Nakonec, po restartování JBoss byste měli mít přístup k JBoss SSL z portu 8181.