在本教程中,您将学习如何在Adobe Connect本地部署服务器上安装SSL证书。Adobe Connect没有内置的SSL面板,因此HTTPS是通过在应用服务器前面部署stunnel来终止TLS连接,然后告知Connect它正运行在SSL之后来实现的。
为Adobe Connect生成CSR代码
如果您已经生成了CSR代码,并从证书颁发机构收到了签发的SSL证书,请跳过CSR部分,直接进入安装步骤。
CSR代表证书签名请求,是一段编码文本,包含每位SSL申请者在注册过程中发送给证书颁发机构的联系人和域名信息。Adobe Connect无法从其界面创建CSR,因此您需要使用外部工具生成。您有两种选择:
在订购时将CSR提交给证书颁发机构。CA验证通过并签发证书后,继续执行以下步骤。请妥善保管与之匹配的私钥,稍后配置stunnel时会用到。
安装前的准备工作
- 您的证书和私钥必须为PEM格式,并存放在两个独立的文件中。如果您的CA以其他格式(例如PFX或P7B)发送证书,请先使用OpenSSL将其转换为PEM格式。
- 私钥必须不设置密码短语。stunnel以Windows服务方式启动,无法提示输入密码,因此设有密码保护的私钥将导致服务无法加载。
- 最新版本的Windows版stunnel安装程序。请在继续之前在此处下载。(如果您计划在外部设备如负载均衡器上终止SSL连接,可跳过stunnel安装。)
- 拥有Adobe Connect服务器的管理员权限,以便安装服务和编辑配置文件。
版本说明:本步骤适用于当前本地部署版本的Adobe Connect(12.x系列,其中12.11版于2025年12月发布),同样适用于较旧的9.x、10.x和11.x版本。各版本的配置文件和stunnel配置方式相同,仅安装文件夹路径不同(例如C:Connect12.x而非C:Connect9.x)。请根据您实际使用的版本文件夹进行替换。Adobe Connect本地部署版是一款专业产品,请始终根据您所运行的版本核对路径信息。
在Adobe Connect上安装SSL证书
第1步:安装stunnel并放置证书文件
运行stunnel安装程序。当系统要求输入安装路径时,选择Connect主目录内的一个文件夹,例如C:Connectstunnel。这个路径并非强制要求,但将所有文件集中放置会更方便管理。
在stunnel文件夹内,检查是否存在certs子文件夹(例如C:Connectstunnelcerts)。如果不存在,请创建它,然后将您的证书文件(.pem)和私钥文件(.key)复制到该文件夹中。
第2步:配置stunnel.conf
打开C:Connectstunnelconfigstunnel.conf(较旧版本使用conf文件夹),并用以下配置替换其内容。此配置示例将服务器限制为仅使用TLS 1.2和TLS 1.3以及一套现代密码套件列表,而这是Adobe原始示例中没有做到的。
; Restrict to modern TLS only (TLS 1.0/1.1 and SSLv2/SSLv3 are disabled)
sslVersionMin = TLSv1.2
sslVersionMax = TLSv1.3
options = CIPHER_SERVER_PREFERENCE
renegotiation = no
fips = no
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
TIMEOUTclose = 0
; Application server SSL / HTTPS
[https-vip]
accept = 10.1.1.1:443
connect = 127.0.0.1:8443
cert = C:Connectstunnelcertspublic_certificate_app-server.pem
key = C:Connectstunnelcertsprivate_key_app-server.key
; TLS 1.2 cipher list (TLS 1.3 ciphersuites are negotiated automatically)
ciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
需要根据您服务器的实际情况调整以下三处内容:
- accept:将10.1.1.1替换为您Connect服务器的公共IP地址。这是stunnel监听HTTPS请求的地址。
- cert:您公共证书(PEM格式)的完整路径。
- key:您私钥的完整路径。
connect = 127.0.0.1:8443这一行将解密后的流量转发至本机的Connect应用服务器。除非您的应用服务器使用不同的端口,否则请保持此设置不变。
第3步:手动测试stunnel
在将stunnel安装为服务之前,先确认它能够使用您的证书和IP正常启动。双击bin文件夹中的stunnel.exe,然后单击通知区域(屏幕右下角,靠近时钟处)中新出现的stunnel图标,打开日志窗口。启动成功后,日志末尾会显示如下内容:
LOG5[main]: Configuration successful
如果出现错误提示,请重新检查证书和私钥的路径,并确认私钥没有设置密码短语。日志确认无误后,右键单击图标并退出stunnel。
第4步:将stunnel安装为Windows服务
为使stunnel随服务器自动启动,需将其安装为服务。按下Windows+R组合键,输入cmd,然后单击确定打开命令提示符。切换到stunnel的bin目录并运行:
cd C:Connectstunnelbin
stunnel.exe -install
然后打开服务控制台(依次进入控制面板、管理工具,或运行services.msc),确认stunnel服务已存在,并将其启动类型设置为自动。
第5步:告知Adobe Connect已处于SSL之后(custom.ini)
打开Connect安装文件夹中的custom.ini(例如C:Connect12.x),并添加以下几行内容:
ADMIN_PROTOCOL=https://
SSL_ONLY=yes
HTTPS_PORT=8443
SSL_ONLY=yes会强制所有Connect流量通过HTTPS传输,而HTTPS_PORT必须与第2步中stunnel转发的端口一致。
第6步:在server.xml中启用HTTPS连接器
打开C:Connect12.xappservconfserver.xml,找到被注释掉的HTTPS执行器(executor)和连接器(connector)代码块。取消这些代码的注释,使其生效。它们应如下方示例所示。请注意,此处SSLEnabled故意保持false设置:因为TLS工作由stunnel完成,Connect只需在端口8443上监听已经解密的流量。
<Executor name="httpsThreadPool"
namePrefix="https-8443-"
maxThreads="350"
minSpareThreads="25"/>
<Connector executor="httpsThreadPool"
port="8443"
protocol="HTTP/1.1"
enableLookups="false"
acceptCount="250"
connectionTimeout="20000"
SSLEnabled="false"
scheme="https"
secure="true"
proxyPort="443"
URIEncoding="utf-8"/>
proxyPort=”443″告知Connect,客户端是通过标准HTTPS端口(即stunnel的accept端口)访问它的,尽管连接器本身监听的是端口8443。
第7步:重启服务并验证
重启以下三项服务,使新配置生效:Adobe Connect Service、Adobe Media Server(或根据您的版本,可能是Adobe Connect Telephony/Transmuxing服务)以及stunnel。
然后在浏览器中通过https://打开您的Connect地址,确认地址栏出现锁形图标且没有警告提示。若要从外部检查证书链、有效期和使用的协议,请对您的域名运行我们的SSL检测工具。完成以上步骤后,SSL就已在您的Adobe Connect服务器上成功启用。
常见问题
不是的。Adobe Connect本地部署版的界面中没有SSL面板。HTTPS是通过在应用服务器前终止TLS连接来实现的,可以使用stunnel(如上文所示的软件方式),也可以使用专用的负载均衡器或SSL加速设备。Adobe Connect的托管(云端)服务已由Adobe提供HTTPS支持,因此本教程仅适用于本地部署环境。
stunnel使用PEM格式,证书和私钥需存放在两个独立文件中,且私钥不能设置密码短语。如果您的CA提供的是PFX、P7B或DER格式文件,请先将其转换为PEM格式。许多管理员还会将中间证书(CA证书包)附加到证书文件中,以确保提供完整的证书链。
stunnel在端口443上监听HTTPS流量,将其解密后以普通HTTP形式转发至Adobe Connect应用服务器的127.0.0.1:8443。server.xml中的连接器在端口8443上监听,并将SSLEnabled=”false”,因为加密工作已由stunnel处理完成。custom.ini中的HTTPS_PORT值必须与此端口一致。
可以。对于生产环境和集群部署,Adobe建议在硬件负载均衡器或SSL加速设备上终止SSL连接,并将其指向每台Connect服务器的端口8443。在这种情况下,您可以跳过stunnel相关步骤,但仍需设置ADMIN_PROTOCOL、SSL_ONLY以及HTTPS连接器,以便让Connect知道自己处于SSL保护之下。对于单服务器、测试环境或小规模部署而言,stunnel是最简单的方案。
请确认stunnel服务正在运行,且其日志显示Configuration successful;确认私钥没有设置密码短语;并确认stunnel.conf中accept指定的IP地址是服务器真实的公共IP。然后核实custom.ini中的HTTPS_PORT与server.xml中连接器的端口(8443)是否一致,并确认已重启所有相关服务。端口不匹配或私钥设有密码短语是最常见的两种原因。


