第 18 章 代理服务器
18.1. SPICE 代理服务器
18.1.1. SPICE 代理(SPICE Proxy)介绍
SPICE 代理是一个当 SPICE 客户端位于 hypervisor 所在的网络之外时,把 SPICE 客户端和虚拟机进行连接的工具。设置 SPICE 代理的过程包括在机器上安装 Squid、配置 iptables 来允许使用代理的网络数据通过防火墙。启用 SPICE 代理的操作包括在 Manager 上使用 engine-config 来把
SpiceProxyDefault
的值设为包括代理的名称和端口的值。关闭 SPICE 代理的操作包括在 Manager 上使用 engine-config 删除为 SpiceProxyDefault
所设置的值。
重要
SPICE 代理只支持独立的 SPICE 客户端,它不能被用来连接使用 SPICE HTML5 或 noVNC 的虚拟机。
18.1.2. SPICE 代理系统的设置
以下介绍了如何把一台机器设置为 SPICE 代理。SPICE 代理可以实现从远程网络访问 Red Hat Enterprise Virtualization 网络的功能。我们使用 Squid 来提供代理服务。
过程 18.1. 在 Red Hat Enterprise Linux 上安装 Squid。
- 在代理机器上安装 Squid:
#
yum install squid
- 打开
/etc/squid/squid.conf
,把以下内容:http_access deny CONNECT !SSL_ports
改为:http_access deny CONNECT !Safe_ports
- 启动代理:
#
service squid start
- 打开默认的 squid 端口:
#
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
- 保存这个 iptables 的规则:
#
service iptables save
您把一台机器设置为了 SPICE 代理。在从远程网络访问 Red Hat Enterprise Virtualization 网络时,请先激活这个 SPICE 代理。
18.1.3. 打开 SPICE 代理
以下介绍了激活(打开)SPICE 代理的方法。
过程 18.2. 激活 SPICE 代理
- 在 Red Hat Enterprise Virtualization Manager 中,使用 engine-config 工具设置一个代理:
#
engine-config -s SpiceProxyDefault=someProxy
- 重新启动 ovirt-engine 服务:
#
service ovirt-engine restart
代理必须使用以下格式来代表:protocol://[host]:[port]
注意
SPICE 客户端只支持 HTTP。如果使用 HTTPS,客户端将会忽略代理的设置,而尝试直接和 hypervisor 进行连接。
SPICE 代理被激活(打开)。现在可以通过 SPICE 代理对 Red Hat Enterprise Virtualization 网络进行访问。
18.1.4. 关闭一个 SPICE 代理
以下介绍了如果关闭一个 SPICE 代理。
过程 18.3. 关闭一个 SPICE 代理
- 登录到 Red Hat Enterprise Virtualization Manager:
$
ssh root@[IP of Manager]
- 运行以下命令来删除 SPICE 代理:
#
engine-config -s SpiceProxyDefault=""
- 重新启动 Red Hat Enterprise Virtualization Manager:
#
service ovirt-engine restart
SPICE 代理被关闭,用户将无法通过 SPICE 代理对 Red Hat Enterprise Virtualization 网络进行访问。