在 Linux 上使用 SSL 安装 JBoss AS
如果您正在开发 Java Web 应用程序,您应该考虑将其部署在开源 JBoss AS Java 应用程序服务器上。
本文介绍了如何在 Linux 上安装支持 SSL 的 JBoss。
1. 下载 JBoss AS 7
Jboass AS 的当前稳定版本是 7.1.1。从这里下载。
或者,直接使用wget下载如下图:
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.设置JBOSS_HOME
我喜欢将 jboss 保留在 /home 目录下,并相应地设置 JBOSS_HOME,如下所示。
cd /usr/save
mv jboss-as-7.1.1.Final /home
export JBOSS_HOME=/home/jboss-as-7.1.1.Final
另外,确保将 JBOSS_HOME 添加到 ~/.bash_profile 目录中。
3.验证Java版本
您需要 JDK 1.6 或更高版本才能运行 Java AS 7。如果您的系统上没有安装 JDK,请从此处下载。
在我的系统上,我已经安装了 JDK。
# java -version
java version "1.6.0_31"
..
4. 启动和停止 JBoss 服务器
使用standalone.sh 脚本启动JBoss 服务器,如下所示。使用 nohup 和 & 在后台运行 JBoss 服务器。
# nohup sh $JBOSS_HOME/bin/standalone.sh &
启动 JBoss 服务器后,您应该可以访问 http://localhost:8080 来访问 JBoss 服务器。
如果你想通过 ip-address 访问 JBoss,你应该允许 JBoss AS 接受远程连接。
要关闭 JBoss 服务器,不要简单地终止后台进程。相反,请使用以下 jboss-cli.sh 脚本并将关闭命令发送到 JBoss 服务器,如下所示。
$JBOSS_HOME/bin/jboss-cli.sh --connect --command=:shutdown
5. 创建 Java 密钥库
让我们在 /usr/save/keystore 下创建 JBoss 所需的密钥
mkdir /usr/save/keystore
cd /usr/save/keystore
使用 java keytool genkey 命令创建 RSA 密钥对和自签名证书,如下所示。
# /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.进出口证书
将证书导出到 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>
将 crt 文件导入密钥库。
# /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
修改/home//jboss-as-7.1.1.Final/bin/standalone.conf文件,添加如下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. 在standalone.xml中添加SSL条目
修改/home//jboss-as-7.1.1.Final/standalone/configuration/standalone.xml,如下图。
首先,在standalone.xml 文件中,在此行之后添加以下SSL 连接器信息:<connector name=”http” protocol=”HTTP/1.1″ scheme=”http” socket-binding=”http”/>
<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>
接下来,在standalone.xml 文件中,在此行之后添加以下行:<socket-binding name=”txn-status-manager” port=”4713”/>
<socket-binding name="connect" port="8181"/>
最后,重新启动 JBoss 后,您应该能够从端口 8181 访问 JBoss SSL。
- 点赞
- 收藏
- 关注作者
评论(0)