在 Linux 上使用 SSL 安装 JBoss AS

举报
Tiamo_T 发表于 2022/08/25 17:47:07 2022/08/25
【摘要】 如果您正在开发 Java Web 应用程序,您应该考虑将其部署在开源 JBoss AS Java 应用程序服务器上。 本文介绍了如何在 Linux 上安装支持 SSL 的 JBoss。

如果您正在开发 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。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。