历史版本19 :为运维项目开启SSL 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

运维平台版本
功能变更
V1.13.0-
V2.0.0单机配置步骤优化,添加Nginx组件后自动转发,方便配置SSL
V2.1.0交互优化,功能入口位置调整
V2.31.0支持界面重新上传SSL证书

1.2 应用场景

要启用 HTTPS 协议,我们需要使用有效的 SSL 证书。SSL 证书中包含身份验证信息,帮助保障用户的通信加密和安全。

在构建一个安全的工程中,证书起到关键作用,它保证了客户端与服务器之间的交互安全性。

本文将介绍如何通过简单的前端界面操作,为容器化部署的FineReport、FineBI、FineDataLink运维项目配置SSL证书,以满足使用HTTPS访问帆软应用的需求。

这样做可以确保FineReport、FineBI、FineDataLink工程使用安全的通信协议,并给用户提供加密保护。

2. 使用前提编辑

2.1 确认项目部署方式

1)本功能仅面向运维平台部署的项目

管理员登录运维平台,在项目管理界面可查看到项目的部署信息,请确保对应项目为「运维平台部署」。

2)本功能仅面向部署了帆软内网关组件的项目

本功能要对运维项目中的帆软内网关组件进行配置。运维平台部署的单机项目,可能未配置帆软内网关组件

  • 管理员登录运维平台,点击对应项目,点击「维护>组件管理」,查看已部署的组件中是否包含「nginx」组件。

  • 如未部署该组件,可点击「添加组件」,为该项目部署 nginx 内网关,添加成功后内网关会自动对接工程节点,此时方可进行 SSL 配置。详情请参见:运维项目添加组件

2.2 准备证书

在配置证书前,首先需要为运维项目中 nginx 内网关组件所在的服务器申请证书。

1)确定服务器节点

管理员登录运维平台,点击对应项目,点击「维护>组件管理」,查看nginx内网关所在的物理节点。

2)为该服务器准备证书

请自行向 CA 厂商购买证书,确保证书与服务器域名/IP 匹配。

证书认证一般都是由 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. 配置SSL证书编辑

V3.31.0及以上版本的运维平台,支持参考本章通过运维平台全新上传/重新上传替换SSL证书。

V3.30.0及以下版本的运维平台,只支持参考本章通过运维平台全新上传SSL证书。如需更新SSL证书,无法通过界面更换,需要自行前往服务器替换证书文件,请参照第四章执行。

3.1 配置证书

1)管理员登录运维平台,点击对应运维项目,点击「维护>组件管理」。

2)找到 Nginx 组件,点击「更改配置」。

3)找到SSL配置」,依次上传第二章准备的证书和密钥文件,填入域名和端口。点击「确定」。

注1:此处四项内容均必填。

注2:V3.31.0及之后版本的运维平台,如上传了错误的证书和密钥文件,鼠标悬浮至文件处即可出现删除按钮,删除后可重新上传。 

3.2 自动重启组件

1)点击「确定」后,会弹出提示「开启SSL将重启项目的Nginx组件,期间项目将持续几分钟无法访问,重启完成后https访问地址为XXX,是否继续?」

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 V3.30.0及以下版本更换SSL证书

V3.31.0及以上版本的运维平台,请参考第三章通过运维平台重新上传替换SSL证书。

V3.30.0及以下版本的运维平台,如需更新SSL证书,无法通过界面更换,需要自行前往服务器替换证书文件

1)手动替换证书

将证书和密钥文件上传替换到运维项目内网关组件的外挂目录/nginx/conf/ssl下

请确保新证书和密钥文件的名字,与老证书和密钥文件的名字完全一致,以便完全覆盖。

2)重启内网关组件

管理员登录运维平台,点击对应项目。

点击「维护>组件管理」,找到项目内网关组件,点击「重启」。

组件重启成功后,新证书即可生效。

4.2 /usr/local/ssl.crt (Permission denied)

问题描述:上传证书时报错/usr/local/ssl.crt (Permission denied)

原因分析:老版本运维平台上传证书时,需要将证书文件上传到容器临时目录/usr/local中,该目录权限要求较高

解决方案:请升级运维平台至V2.9.0及以上版本后再尝试上传证书,证书会暂存到临时目录/usr/tmp下,权限要求较低