简介
HTTP和HTTPS是互联网用于传输数据的主要协议。通过HTTP协议传输的数据没有经过任何形式的加密,这就意味着在HTTP连接上传输的所有信息,包括用户名、密码、Cookie及其它敏感内容,都随时可能被泄露、窃取、篡改。
HTTPS是一种基于SSL协议的网站加密传输协议,提供了端到端的数据加密,确保了传输过程中的数据隐私性和完整性。ZStack Cloud支持HTTPS方式登录UI管理界面,进一步提升系统安全性。
本教程分为UI和命令行配置方式,分别介绍HTTPS登录UI的使用方法。
UI配置方式
以下章节主要介绍如何通过云平台证书管理功能直观配置HTTPS,包括如何添加第三方证书、如何添加系统自签证书、如何更新证书、以及如何恢复HTTP方式登录UI。
添加第三方证书
本章节将介绍如何通过UI界面导入第三方证书。
前提条件
- 用户已部署最新的ZStack Cloud环境。
- 用户需具备admin或平台管理员权限才能配置证书。
- 用户已持有有效的商用CA签发证书。
- 证书文件和证书链仅支持CRT或PEM格式、证书私钥仅支持KEY或PEM格式。Note: 若用户持有的证书不符合格式要求,请自行进行格式转换。
操作步骤
- 登录ZStack Cloud。
- 点击。
- 在证书管理页面,点击添加证书。
-
在导入证书页面,可参考以下信息完成配置:
- 导入模式:选择第三方证书
- 证书文件:导入或填入证书公钥Note:
- 仅支持CTR格式和PEM格式。
- 证书内容需以"----BEGIN CERTIFICATE----"开头,以"----END CERTIFICATE----"结尾。
- 证书私钥:导入或填入证书私钥Note:
- 仅支持KEY格式和PEM格式。
- 证书私钥内容需以"----BEGIN (RSAIEC) PRIVATE KEY----"开头,以"----END (RSAIEC) PRIVATE KEY----"结尾。
- 证书链:导入或填入证书链Note:
- 仅支持CTR格式和PEM格式。
- 证书链的证书内容需以"----BEGIN CERTIFICATE----"开头,以"----END CERTIFICATE----"结尾。
- HTTP重定向:可选项,默认关闭。开启后,系统自动将请求从HTTP地址的5000端口重定向到HTTPS地址的5443端口。
如图 1所示:图 1. 添加第三方证书 
- 确认配置信息无误后,点击确定。
-
云平台自动刷新,并可通过HTTPS协议访问UI。
Note: 配置证书后会重新建立会话,需重新登录UI界面。
添加系统自签证书
本章节将介绍如何通过UI界面使用系统自签证书。
前提条件
- 用户已部署最新的ZStack Cloud环境。
- 用户需具备admin或平台管理员权限才能配置证书。
操作步骤
- 登录ZStack Cloud。
- 点击。
- 在证书管理页面,点击添加证书。
-
在导入证书页面,可参考以下信息完成配置:
- 导入模式:选择自签名证书
- 有效期:可选3个月、1年、3年、5年、10年,默认为10年
- HTTP重定向:可选项,默认关闭。开启后,系统自动将请求从HTTP地址的5000端口重定向到HTTPS地址的5443端口
- 自定义证书信息:可选项,默认关闭。开启后,可自定义系统自签证书信息
- 公用名称
(CN):可选项,设置公用名称,默认为localhost
长度为1~64个字符,仅支持输入英文大小写字母、数字和以下特殊字符:~`@#$%^&*()-_+={}[]|:;'<>.?/
- 企业单位名称
(O):可选项,设置企业单位名称,默认为localhost
长度为1~64个字符,仅支持输入英文大小写字母、数字和以下特殊字符:~`@#$%^&*()-_+={}[]|:;'<>.?/
- 部门
(OU):可选项,设置部门
长度为1~64个字符,仅支持输入英文大小写字母、数字和以下特殊字符:~`@#$%^&*()-_+={}[]|:;'<>.?/
- 国家/地区 (C):可选项,设置国家/地区,仅支持设置为CN
- 省/自治区/直辖市
(S):可选项,设置省/自治区/直辖市
长度为1~128个字符,仅支持输入中文、英文大小写字母、数字和以下特殊字符:~`@#$%^&*()-_+={}[]|:;'<>.?/
- 城市
(L):可选项,设置城市
长度为1~128个字符,仅支持输入中文、英文大小写字母、数字和以下特殊字符:~`@#$%^&*()-_+={}[]|:;'<>.?/
- 电子邮箱:可选项,设置电子邮箱地址
- 公用名称
(CN):可选项,设置公用名称,默认为localhost
如图 2所示:图 2. 添加系统自签证书 
- 确认配置信息无误后,点击确定。
-
云平台自动刷新,并可通过HTTPS协议访问UI。
Note: 配置证书后会重新建立会话,需重新登录UI界面。
更新证书
本章节将介绍如何通过UI界面更新证书。
前提条件
- 用户已部署最新的ZStack Cloud环境。
- 用户需具备admin或平台管理员权限才能配置证书。
- 用户已添加的证书发生了变更,需及时同步更新证书信息。
操作步骤
- 登录ZStack Cloud。
- 点击。
-
在证书管理页面,点击更新证书。
如图 3所示:
图 3. 更新证书 
-
更新证书配置信息后,点击确定,即可更新证书。
Note: 更新证书时,系统会检测当前证书路径,并将证书信息写入该路径。
恢复HTTP方式登录UI
本章节将介绍如何通过UI界面恢复HTTP方式登录UI。
前提条件
- 用户已部署最新的ZStack Cloud环境。
- 用户需具备admin或平台管理员权限才能配置证书。
- 用户已配置SSL证书。
操作步骤
- 登录ZStack Cloud。
- 点击。
-
在证书管理页面,点击恢复HTTP。
如图 4所示:
图 4. 恢复HTTP方式登录UI 
-
在二次确认弹窗中,点击确定,即可恢复HTTP方式登录UI。
Note: 恢复HTTP方式登录UI会重新建立会话,需重新登录。恢复后将通过HTTP协议登录UI界面。
命令行配置方式
- HTTPS方式默认不启用。
- 启用HTTPS后,系统默认支持5443端口,且支持自定义指定其它端口登录。
- 启用HTTPS后,如使用HTTP方式的5000端口登录,将会自动重定向到HTTPS方式。目前仅支持HTTP的5000端口自动重定向到HTTPS。
- 系统默认支持PKCS12格式证书。目前仅提供PKCS12/JKS格式证书支持,如使用其它格式证书,请自行格式转换。
单管理节点场景
本章节主要介绍单管理节点场景下,如何使用默认HTTPS方式登录UI、如何使用自定义HTTPS方式登录UI,以及如何恢复HTTP方式登录UI。
默认HTTPS方式
背景信息
初始状态下,支持使用系统默认证书以HTTPS方式登录UI。操作步骤
-
在管理节点执行以下命令,停止管理节点服务和UI服务
zstack-ctl stop -
确保VNC控制台支持HTTPS功能。
-
执行以下命令,将基于默认配置自动生成证书,并使用默认证书以HTTPS方式登录UI,端口默认为5443。
zstack-ctl config_ui --enable-ssl True -
在管理节点执行以下命令,启动管理节点服务和UI服务
zstack-ctl start - 使用Chrome浏览器或FireFox浏览器进入ZStack Cloud管理界面(https://your_domain_name:5443),输入默认用户名和密码(admin/password),即可以默认HTTPS方式成功登录。
-
设置控制台代理地址。
登录UI界面,ZStack Cloud主菜单,点击按钮,将控制台代理设置为your_domain_name,确保控制台正常打开。
-
在管理节点执行以下命令,重启Zops服务,确保云平台上的物理机可以正常使用Web终端功能:
zops restart
自定义HTTPS方式
背景信息
初始状态下,支持使用自定义证书以HTTPS方式登录UI。操作步骤
-
准备好自定义证书,可使用相关工具生成自签证书,也可购买正规CA签发证书。
如使用Keytool(Java数据证书管理工具)生成自签证书:
mkdir certs keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore ./certs/keystore.p12 -validity 365例如:[root@localhost ~]# mkdir certs [root@localhost ~]# keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 \ -keystore ./certs/keystore.p12 -validity 365 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: Jack Chen 您的组织单位名称是什么? [Unknown]: ZStack 您的组织名称是什么? [Unknown]: DOC 您所在的城市或区域名称是什么? [Unknown]: SH 您所在的省/市/自治区名称是什么? [Unknown]: SH 该单位的双字母国家/地区代码是什么? [Unknown]: CN CN=Jack Chen, OU=Cloud, O=DOC, L=SH, ST=SH, C=CN是否正确? [否]: 是 [root@localhost certs]# ls keystore.p12 -
在管理节点执行以下命令,停止管理节点服务和UI服务
zstack-ctl stop -
确保VNC控制台支持HTTPS功能。
-
执行以下命令,自定义证书别名、证书路径、证书类型、私钥密码、HTTPS登录端口等信息,并使用自定义证书以HTTPS方式登录UI。
zstack-ctl config_ui --enable-ssl True \ --ssl-keyalias=*** --ssl-keystore=*** --ssl-keystore-type=*** \ --ssl-keystore-password=*** --server-port=*** --webhook-port=*** //将自定义参数信息记录到zstack.ui.properties配置文件 //包括设置:启用HTTPS功能、证书别名、证书路径、证书类型、私钥密码、HTTPS登录端口 zstack-ctl show_ui_config //可查看自定义参数信息 zstack-ctl stop_ui zstack-ctl start_ui //每次以HTTPS方式登录UI例如:[root@localhost ~]# zstack-ctl config_ui --enable-ssl True \ --ssl-keyalias=tomcat --ssl-keystore=/root/certs/keystore.p12 --ssl-keystore-type=PKCS12 \ --ssl-keystore-password=password --server-port=8888 [root@localhost ~]# zstack-ctl show_ui_config db_url = jdbc:mysql://10.0.233.184:3306 db_username = zstack_ui db_password = zstack.ui.password mn_host = 127.0.0.1 mn_port = 8080 webhook_host = 127.0.0.1 webhook_port = 5000 server_port = 8888 log = /usr/local/zstack/apache-tomcat/logs enable_ssl = true ssl_keyalias = tomcat ssl_keystore = /usr/local/zstack/zstack-ui/ui.keystore.p12.cp ssl_keystore_type = PKCS12 ssl_keystore_password = password [root@localhost ~]# zstack-ctl stop_ui successfully stopped the UI server [root@localhost ~]# zstack-ctl start_ui successfully started UI server on the local host, PID[32166], https://10.0.233.184:8888 -
在管理节点执行以下命令,启动管理节点服务和UI服务。
zstack-ctl start -
使用Chrome浏览器或FireFox浏览器进入ZStack Cloud管理界面(https://your_domain_name:your_server_port),输入默认用户名和密码(admin/password),即可以自定义HTTPS方式成功登录。
Note:若使用FireFox浏览器无法正常打开VNC控制台,请按如下步骤解决:
- 使用FireFox浏览器访问https://your_domain_name:4900;
- 根据FireFox浏览器的提示,将https://your_domain_name:4900添加到安全例外(Exception);
- 使用FireFox浏览器打开VNC控制台。
更多详情可参考FireFox官网文章。
-
设置控制台代理地址。
登录UI界面,ZStack Cloud主菜单,点击按钮,将控制台代理设置为your_domain_name,确保控制台正常打开。
-
在管理节点执行以下命令,重启Zops服务,确保云平台上的物理机可以正常使用Web终端功能:
zops restart
恢复HTTP方式登录UI
操作步骤
-
执行以下命令,将zstack.ui.properties中关于HTTPS功能的相关参数恢复到系统默认值。
zstack-ctl config_ui --restore -
执行
zstack-ctl stop_ui及zstack-ctl start_ui即可。例如:[root@localhost ~]# zstack-ctl config_ui --restore [root@localhost ~]# zstack-ctl show_ui_config db_url = jdbc:mysql://10.0.233.184:3306 db_username = zstack_ui db_password = zstack.ui.password mn_host = 127.0.0.1 mn_port = 8080 webhook_host = 127.0.0.1 webhook_port = 5000 server_port = 5000 log = /usr/local/zstack/apache-tomcat/logs enable_ssl = false ssl_keyalias = zstackui ssl_keystore = /usr/local/zstack/zstack-ui/ui.keystore.p12 ssl_keystore_type = PKCS12 ssl_keystore_password = password [root@localhost ~]# zstack-ctl stop_ui successfully stopped the UI server [root@localhost ~]# zstack-ctl start_ui successfully started UI server on the local host, PID[43261], http://10.0.233.184:5000 - 使用Chrome浏览器或FireFox浏览器进入ZStack Cloud管理界面(http://your_machine_ip:5000),输入默认用户名和密码(admin/password),即可恢复默认HTTP方式成功登录。
-
设置控制台代理地址
登录UI界面,ZStack Cloud主菜单,点击按钮,将控制台代理设置为your_machine_ip,确保控制台正常打开。
后续操作
至此,HTTPS方式登录UI的使用方法介绍完毕。
双管理节点物理机高可用场景
本章节主要介绍双管理节点物理机高可用场景下,如何使用自定义HTTPS方式登录UI,以及如何恢复HTTP方式登录UI。
自定义HTTPS方式登录UI
背景信息
在双管理节点物理机高可用场景下,使用自定义证书以HTTPS方式登录UI。操作步骤
-
准备多域名HTTPS证书。
- 提前准备一个多域名HTTPS证书,例如:*.test.com;
- 将两个管理节点以及VIP分别绑定一个域名,例如:mna.test.com(管理节点A)、mnb.test.com(管理节点B)、mn.test.com(VIP)。
-
停止管理节点服务和UI服务,并关闭zsha2服务。
分别在两个管理节点执行以下命令,停止管理节点服务和UI服务,并关闭zsha2服务。
[root@localhost ~]# zsha2 stop-node -
确保VNC控制台支持HTTPS功能。
两个管理节点均需确保VNC控制台支持HTTPS功能。详情可参考单管理节点场景自定义HTTPS方式章节步骤三。
-
参数配置。
分别在两个管理节点自定义证书别名、证书路径、证书类型、私钥密码、HTTPS登录端口等信息,并使用自定义证书以HTTPS方式登录UI。详情可参考单管理节点场景自定义HTTPS方式章节步骤四。
-
启动管理节点服务和UI服务,并启动zsha2服务。
分别在两个管理节点执行以下命令,启动管理节点服务和UI服务,并启动zsha2服务。
[root@localhost ~]# zsha2 start-node -
以自定义HTTPS方式登录UI。
使用Chrome浏览器或FireFox浏览器进入ZStack Cloud管理界面(https://your_domain_name:your_server_port),输入默认用户名和密码(admin/password),即可以自定义HTTPS方式成功登录。Note:若使用FireFox浏览器无法正常打开VNC控制台,请按如下步骤解决:
- 使用FireFox浏览器访问https://your_domain_name:4900;
- 根据FireFox浏览器的提示,将https://your_domain_name:4900添加到安全例外(Exception);
- 使用FireFox浏览器打开VNC控制台。
更多详情可参考FireFox官网文章。
-
设置控制台代理地址。
分别登录两个管理节点UI界面,在ZStack Cloud 私有云主菜单,点击按钮,将控制台代理设置为your_domain_name,例如:mna.test.com(管理节点A)、mnb.test.com(管理节点B),确保控制台正常打开。
-
分别在两个管理节点执行以下命令,重启Zops服务,确保云平台上的物理机可以正常使用Web终端功能:
zops restart
恢复HTTP方式登录UI
背景信息
在双管理节点物理机高可用场景下,恢复HTTP方式登录UI。操作步骤
-
停止管理节点服务和UI服务,并关闭zsha2服务。
分别在两个管理节点执行以下命令,停止管理节点服务和UI服务,并关闭zsha2服务。
[root@localhost ~]# zsha2 stop-node -
关闭HTTPS功能。
分别在两个管理节点执行以下命令,将zstack.ui.properties中关于HTTPS功能的相关参数恢复到系统默认值。
[root@localhost ~]# zstack-ctl config_ui --restore -
重新配置webhook-host。
分别在两个管理节点执行以下命令,将webhook-host地址配置为双管理节点VIP地址。
[root@localhost ~]# zstack-ctl config_ui --webhook-host VIP -
启动管理节点服务和UI服务,并启动zsha2服务。
分别在两个管理节点执行以下命令,启动管理节点服务和UI服务,并启动zsha2服务。
[root@localhost ~]# zsha2 start-node -
以HTTP方式登录UI。
使用Chrome浏览器或FireFox浏览器进入ZStack Cloud管理界面(http://your_machine_ip:5000),输入默认用户名和密码(admin/password),即可恢复默认HTTP方式成功登录。
-
设置控制台代理地址。
分别登录两个管理节点UI界面,在ZStack Cloud 私有云主菜单,点击按钮,将控制台代理设置为your_machine_ip,确保控制台正常打开。
后续操作
至此,在双管理节点物理机高可用场景下,HTTPS方式登录UI的使用方法介绍完毕。
