操作场景
- 本文档指导您如何在 JBoss 服务器中安装 SSL 证书。
- 本文档以证书名称 ubn.cn通配符证书,域名test.ubn.cn为例。
- Boss 版本以 jboss-7.1.1 为例,当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。
- 安装 SSL 证书前,请您在 JBOSS 服务器安全组或防火墙开启 “443” 端口,避免证书安装后无法启用 HTTPS。
- SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器。
前提条件
已准备远程文件拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。 已在当前服务器中安装配置 JBoss 服务。
操作步骤
1.登录网站控制中心下载证书,可参考帮助文档中,证书下载。
2.解压缩ssl证书压缩包
- 解压后文件夹内容:
文件名称路径 | 作用 | 使用类型 |
---|---|---|
ubn_cn.key | 证书私钥 | iis/apache/nginx通用私钥 |
Apache/ubn_cn.crt | 证书文件 | apache使用 |
IIS/ubn_cn.pfx | 证书文件 | iis使用 |
Nginx/ubn_cn.crt | 证书文件 | nginx、防火墙、cdn、负载均衡、对象存储等通用 |
- 解压后文件示例:
3.转换证书格式,手动转换格式的方式生成jks证书密钥库。
- 操作方法如下: 访问 转换工具,将 Nginx 文件夹中的证书文件和私钥文件上传至转换工具中(右键分别编辑ubn_cn.key以及nginx目录下的ubn_cn.crt文件,将内容粘贴到工证书文件及私钥文件中),并填写密钥库密码,单击提交,转换为 jks 格式证书。当前 JBoss 服务器安装在 /usr/local 目录下。
4.远程登录 JBoss 服务器。例如,使用 “PuTTY” 工具 登录,xshell。
5.进入部署证书步骤,在 /usr/local/jboss-7.1.1/standalone/configuration 目录下执行命令 mkdir cert 创建 cert 文件夹。
6.使用 “WinSCP” (即本地与远程计算机间的复制文件工具)登录 JBoss 服务器,将已获取到的ubn_cn.jks 密钥库文件从本地目录拷贝至 cert 文件夹。
7.编辑在 /usr/local/jboss-7.1.1/standalone/configuration 目录下的 standalone.xml 文件。修改端口配置,
如下所示:
- 第一部分:
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<!--开启远程访问-->
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
<socket-binding name="ajp" port="8009"/>
<!--修改http端口-->
<socket-binding name="http" port="80"/>
<!--修改https端口-->
<socket-binding name="https" port="443"/>
<socket-binding name="osgi-http" interface="management" port="8090"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
- 配置文件的主要调整说明如下:
- 开启远程访问:将 ${jboss.bind.address:127.0.0.1} 调整为 ${jboss.bind.address:0.0.0.0}。
- 修改 http 端口:将8080端口调整为80。
- 修改 https 端口:将8443端口调整为443。
- 第二部分:添加证书相关配置。
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
<ssl name="https" password="******" certificate-key-file="../standalone/configuration/cert/ubn_cn.jks" cipher-suite="TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" protocol="TLSv1,TLSv1.1,TLSv1.2"/>
</connector>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
8.进入 /usr/local/jboss-7.1.1/bin 目录下,执行启动命令 ./standalone.sh,确保正常启动.
如下图所示: