1. 概述
1.1 版本
| 运维平台版本 | 功能变更 |
|---|---|
| V1.6.0 | - |
| V1.13.0 | 交互优化,功能入口位置调整 |
| V2.0.0 | 交互优化,功能入口位置调整 |
| V2.1.0 | 交互优化,功能入口位置调整 |
| V2.31.0 | 支持界面重新上传SSL证书 |
1.2 应用场景
要启用 HTTPS 协议,需要使用有效的 SSL 证书。SSL 证书中包含身份验证信息,帮助保障用户的通信加密和安全。
在构建一个安全的工程中,证书起到关键作用,它保证了客户端与服务器之间的交互安全性。
本文将介绍如何通过简单的前端界面操作,为运维平台配置SSL证书,以满足使用HTTPS访问运维平台的需求。
这样做可以确保运维平台使用安全的通信协议,并给用户提供加密保护。
2. 使用前提
2.1 准备证书
在配置证书前,首先需要为运维平台所在的服务器申请证书。
请自行向 CA 厂商购买证书,确保证书与服务器域名/IP 匹配。
证书认证一般都是由 VeriSign、GlobalSign 等国际公认的 CA 机构认证。
需要准备的证书相关文件和要求如下:
| 内容 | 要求 |
|---|---|
| 证书文件 | 证书文件,格式仅支持 .crt 或 .pem(nginx仅支持这两种) |
| 密钥文件 | 证书对应的密钥文件,格式仅支持 .key |
2.2 确认证书、域名、IP一一对应
1)确认证书对应的域名
将证书上传到拥有JDK环境的计算机上,进入证书所在目录。
使用语句打印查询证书信息:keytool -printcert -file name.pem(请将name.pem换成你的证书名称)。
确认证书绑定的域名:在返回值中,「Owner: CN」/「所有者: CN」后的值,即为该证书对应的域名。

2)确认域名绑定IP
请将证书对应的域名,与运维平台所在服务器的IP,互相绑定。
由于不同服务器的操作不尽相同,帆软不提供此操作的指导文档,请自行联系你的服务器厂商咨询。
绑定成功后,管理员可 ping 域名,确认返回值中的 IP 是否正确。

2.3 准备端口
请准备一个运维平台所在服务器的空闲端口,用于后续访问运维平台。
请确保端口防火墙已开放,可正常访问。
如希望在访问运维平台时不添加端口,直接通过域名访问,请使用 HTTPS 的默认端口 443 。
本文示例使用 443 端口。
3. 首次配置SSL证书
V2.31.0及以上版本的运维平台,支持参考本章通过运维平台全新上传/重新上传替换SSL证书。
V2.30.0及以下版本的运维平台,只支持参考本章通过运维平台全新上传SSL证书。如需更新SSL证书,无法通过界面更换,需要自行前往服务器替换证书文件,请参照第四章执行。
3.1 配置证书
1)管理员登录运维平台,点击「运维平台管理>运维组件」。
2)找到 Nginx 组件,点击「更改配置」。

3)找到「SSL配置」,依次上传第二章准备的证书和密钥文件,填入域名和端口。点击「确定」。
注1:此处四项内容均必填。
注2:V2.31.0及之后版本的运维平台,如上传了错误的证书和密钥文件,鼠标悬浮至文件处即可出现删除按钮,删除后可重新上传。

3.2 重启nginx组件
1)点击「确定」后,会弹出提示「开启SSL将重启运维平台的Nginx组件,期间运维平台将持续几分钟无法访问,重启完成后https访问地址为XXX(对应域名后的url),是否继续?」
2)点击「继续并重启」,运维平台会自动进行以下检测和配置,请耐心等待:
检测所填端口是否可用,如不可用,配置失败。
将证书和密钥文件上传到运维平台的nginx组件的 /nginx/conf/ssl 目录下
使用原命令新建Nginx,并新增443端口,环境变量新增SSL相关配置。
自动重启Nginx,启动完毕后即可实现HTTPS访问。

3.3 效果预览
重启成功后,即可使用上文提示中的地址访问项目。
在浏览器输入https://your_domain:port/ops/decision,确保能够成功访问,如果网页地址栏出现安全连接标志,表示SSL配置成功。
your_domain是你的域名。
端口为上文配置的端口,如果端口号为443,可省略不写。
注:原http地址仍可访问。

4. 注意事项
4.1 V2.30.0及以下版本更换SSL证书
V2.31.0及以上版本的运维平台,请参考第三章通过运维平台重新上传替换SSL证书。
V2.30.0及以下版本的运维平台,如需更新SSL证书,无法通过界面更换,需要自行前往服务器替换证书文件。
1)手动替换证书
将证书和密钥文件上传替换到运维平台nginx组件外挂目录/nginx/conf/ssl下
请确保新证书和密钥文件的名字,与老证书和密钥文件的名字完全一致,以便完全覆盖。
2)重启帆软内网关组件
管理员登录运维平台,点击「运维平台管理>运维组件」,找到帆软内网关组件Nginx,点击「重启」。
组件重启成功后,新证书即可生效。

4.2 /usr/local/ssl.crt (Permission denied)
问题描述:上传证书时报错/usr/local/ssl.crt (Permission denied)
原因分析:老版本运维平台上传证书时,需要将证书文件上传到容器临时目录/usr/local中,该目录权限要求较高
解决方案:请升级运维平台至V2.9.0及以上版本后再尝试上传证书,证书会暂存到临时目录/usr/tmp下,权限要求较低

