1.规划节点
IP 主机名 节点 192.168.100.10 controller OpenStack控制节点 192.168.100.20 compute OpenStack计算节点
2.环境准备 使用OpenStack平台的两台节点,节点规划表中的IP地址为作者的IP地址,在进行实操案例的时候,按照自己的环境规划网络与IP地址。
3.理论知识
3.1了解http与https协议
1.http协议简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
2https协议简介
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可以看出HTTPS是由HTTP和SSL/TLS一起合作完成的。 SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。SSL协议在1994年被Netscape发明,后来各个浏览器均支持SSL,其最新的版本是3.0 TLS的全称是Transport Layer Security,即安全传输层协议,最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。虽然TLS与SSL3.0在加密算法上不同,但是在我们理解HTTPS的过程中,我们可以把SSL和TLS看做是同一个协议。 HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密。数据是被对称加密传输的,对称加密过程需要客户端的一个密钥,为了确保能把该密钥安全传输到服务器端,采用非对称加密对该密钥进行加密传输,总的来说,对数据进行对称加密,对称加密所要使用的密钥通过非对称加密传输。
3http与https协议的对比
4.上手操作
4.1配置yum源 使用远程连接工具连接到控制节点,移除本地repo文件
controller # mv /etc/yum.repos.d/* /media/
使用提供的https-repo.tar.gz文件上传至controller节点的/root目录下,进行解压,并放到/opt目录下
controller # tar -zxvf https-repo.tar.gz -C /opt
创建repo文件,在/etc/yum.repos.d目录下创建ssl.repo文件
controller # vi /etc/yum.repos.d/ssl.repo [ssl] name=ssl baseurl=file:///opt/https-repo gpgcheck=0 enabled=1
4.2安装服务 安装httpd、mod_wsgi、mod_ssl这几个组件
controller # yum install -y mod_wsgi httpd mod_ssl
4.3修改ssl配置文件 修改/etc/httpd/conf.d/ssl.conf配置文件
controller # vi /etc/httpd/conf.d/ssl.conf #SSLProtocol all -SSLv2 -SSLv3 //找到该行,并注释 SSLProtocol all -SSLv2 //添加该行
4.4开启ssl 配置/etc/openstack-dashboard/local_settings 配置文件,修改参数
controller # vi /etc/openstack-dashboard/local_settings CSRF_COOKIE_SECURE = True //将该行的注释取消 SESSION_COOKIE_SECURE = True //将该行的注释取消 USE_SSL = True //添加该行 SESSION_COOKIE_HTTPONLY = True //添加该行
4.5重启服务 在修改完上述的配置文件后,重启httpd服务和缓存服务
controller # service httpd restart controller # service memcached restart
4.6访问dashboard 输入IP地址进行访问:
https://192.168.100.10/dashboard,通过https访问dashboard管理平台 使用https协议访问界面,会出现不是私密连接的提示,单击“隐藏详情”按钮,然后单击“继续前往192.168.100.10(不安全)”连接,进行访问OpenStack的Dashboard界面,如下图所示 输入Domain、用户名和密码进行登录 若继续使用http协议访问OpenStack的Dashboard界面,开会可以访问登录界面,但是在输入用户名和密码之后,会出现报错
至此,将OpenStack的Dashboard访问策略提升至https成功。