Horizon 用作 OpenStack 的 Web 门户。以下过程假设定期对 Horizon 进行 HTTP 访问而不是 SSL/TLS 访问。
controller# pkg install horizon
您的配置使用 HTTP。
向 /etc/openstack_dashboard/local_settings.py 脚本提供设置。
controller# gsed -i -e s@SECURE_PROXY_SSL_HEADER@#SECURE_PROXY_SSL_HEADER@ \ -e s@CSRF_COOKIE_SECURE@#CSRF_COOKIE_SECURE@ \ -e s@SESSION_COOKIE_SECURE@#SESSION_COOKIE_SECURE@ \ /etc/openstack_dashboard/local_settings.py
为 OpenStack 复制 HTTP 版的 http.conf 文件。
controller# cp /etc/apache2/2.2/samples-conf.d/openstack-dashboard-http.conf \ /etc/apache24/2.2/conf.d/
您的配置使用 SSL/TLS。
生成证书以供 Horizon 使用。
以下命令生成自签名的证书以供 Horizon 使用,并将 OpenStack 系统信息显示板配置文件复制到 Apache 配置文件目录中。有关创建自签名证书的更多信息,请参见《SSL/TLS Strong Encryption: FAQ》(《SSL/TLS 强加密:常见问题解答》)。
controller# export DASHBOARD=/etc/openstack_dashboard controller# openssl req -new -x509 -nodes \ -out horizon.crt -keyout horizon.key controller# mv horizon.crt horizon.key ${DASHBOARD} controller# chmod 0600 ${DASHBOARD}/horizon.* controller# sed \ -e "/SSLCertificateFile/s:/path.*:${DASHBOARD}/horizon.crt:" \ -e "/SSLCACertificateFile/d" \ -e "/SSLCertificateKeyFile/s:/path.*:${DASHBOARD}/horizon.key:" \ < /etc/apache2/2.2/samples-conf.d/openstack-dashboard-tls.conf \ > /etc/apache2/2.2/conf.d/openstack-dashboard-tls.conf
在 ~/conf.d/openstack-dashboard-tls.conf 文件中,在以下参数上指定 Horizon 软件包的站点地址和服务器名称:
RedirectPermanent=controller-IP ServerName=controller-name
controller# svcadm enable apache22