1. 概述
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.13.0 | - |
V2.0.0 | 单机配置步骤优化,添加Nginx组件后自动转发,方便配置SSL |
V2.1.0 | 交互优化,功能入口位置调整 |
1.2 应用场景
要启用 HTTPS 协议,我们需要使用有效的 SSL 证书。SSL 证书中包含身份验证信息,帮助保障用户的通信加密和安全。
在构建一个安全的工程中,证书起到关键作用,它保证了客户端与服务器之间的交互安全性。
本文将介绍如何通过简单的前端界面操作,为容器化部署的FineReport、FineBI运维项目配置SSL证书,以满足使用HTTPS访问帆软应用的需求。
这样做可以确保FineReport、FineBI工程使用安全的通信协议,并给用户提供加密保护。
2. 使用前提
2.1 确认工程部署方式
1)本功能仅面向运维平台部署的项目。
2)本功能要对运维项目中的 Nginx 组件进行配置。运维平台部署的单机项目,可能未配置 Nginx 组件。
管理员需在「组件管理」中添加 Nginx 组件,添加成功后 Nginx 会自动对接工程节点,此时方可进行 SSL 配置。
详情请参见:运维项目添加组件
2.2 准备证书
在配置证书前,首先需要为运维项目Nginx组件所在服务器申请证书。
请自行向 CA 厂商购买证书,证书认证一般都是由 VeriSign、GlobalSign 等国际公认的 CA 机构认证。
需要准备的证书相关文件和要求如下:
内容 | 要求 |
---|---|
证书文件 | 请准备好你的证书 证书格式为 .crt 或 .pem(nginx仅支持这两种) |
密钥文件 | 请准备好你的证书对应的密钥文件 证书格式为 .key |
2.3 确认证书、域名、IP一一对应
1)确认证书对应的域名
将证书上传到拥有JDK环境的计算机上,进入证书所在目录。
使用语句打印查询证书信息:keytool -printcert -file name.pem(请将name.pem换成你的证书名称)。
确认证书绑定的域名:在返回值中,「Owner: CN」/「所有者: CN」后的值,即为该证书对应的域名。
2)确认域名绑定IP
请将证书对应的域名,与运维项目中的Nginx组件所在服务器的IP,互相绑定。
由于不同服务器的操作不尽相同,帆软不提供此操作的指导文档,请自行联系你的服务器厂商咨询。
绑定成功后,管理员可ping 域名,确认返回值中的IP是否正确。
2.4 准备端口
请准备一个运维项目中的Nginx组件所在服务器的空闲端口,用于后续访问运维项目。
请确保端口防火墙已开放,可正常访问。
如希望在访问时不添加端口,直接通过域名访问,请使用 HTTPS 的默认端口 443 。
本文示例使用 443 端口。
3. 操作步骤
3.1 配置证书
1)管理员登录FineOps运维平台,点击运维项目,点击「维护>组件管理」。
2)找到 Nginx 组件,点击「更改配置」。
3)找到「SSL配置」,依次上传第二章准备的证书和密钥文件,填入域名和端口。点击「确定」。
3.2 重启组件
1)点击「确定」后,会弹出提示「开启SSL将重启项目的Nginx组件,期间项目将持续几分钟无法访问,重启完成后https访问地址为XXX(对应域名后的url),是否继续?」
2)点击「继续并重启」,运维平台会自动进行以下检测和配置,请耐心等待:
检测所填端口是否可用,如不可用,配置失败。
将证书和密钥文件上传到运维项目Nginx组件的/nginx/conf/ssl目录下
使用原命令新建替换Nginx,并新增443端口,环境变量新增SSL相关配置。
自动重启Nginx,启动完毕后即可实现HTTPS访问。
3.3 效果预览
重启成功后,即可使用上文提示中的地址访问项目。
在浏览器输入https://your_domain:port/webroot/decision,确保能够成功访问,如果网页地址栏出现安全连接标志,表示SSL配置成功。
your_domain是你的域名。
端口为上文配置的端口,如果端口号为443,可省略不写。
注:原http地址仍可访问。
4. 注意事项
4.1 更换SSL证书
证书到期后,如需更新SSL证书,只需要参考第三章重新执行一遍即可。
4.1 /usr/local/ssl.crt (Permission denied)
问题描述:上传证书时报错/usr/local/ssl.crt (Permission denied)
原因分析:老版本运维平台上传证书时,需要将证书文件上传到容器临时目录/usr/local中,该目录权限要求较高
解决方案:请升级运维平台至V2.9.0及以上版本后再尝试上传证书,证书会暂存到临时目录/usr/tmp下,权限要求较低