最新版本:1.0.1-2

|
概览 |
|
|
目录 |
系统 |
|
类别 |
网关 |
|
用户卷 |
yes |
|
最小 内存 |
192M |
|
操作系统 |
Linux |
|
约束 |
否 |
INSSLR2 组件是安全 HTTP 请求的第 7 层网关。 它将请求转换为未编码的 HTTP 请求。 您可以使用此功能支持客户端的安全 HTTP。
不过,后端处理基础架构不会或无法支持 SSL,包括:
如果已配置,则 INSSLR2 也支持客户端证书身份验证。 在进行 SSL 相互身份验证的情况下,客户端和服务器都将交换各自的证书和相应公钥。 客户端和/或服务器可以联系颁发证书的证书颁发机构 (CA),并确认证书是真实的,然后再继续。
在其默认配置中,INSSLR2 充当安全 HTTP 请求的第 7 层网关。 它还提供到应用的网络流量的防火墙入口点。 可以使用 Internet 可访问的静态 IP 地址进行配置。
在配置时,可以在故障切换模式下使用两个 INSSLR2 组件来提供冗余服务。 在这种情况下,INSSLR2 IP 地址仅在其中一个节点上运行,并在失败时自动转移到另一个 INSSLR2 组件。 一次只有一个 INSSLR2 组件为活动状态。 在故障切换模式下运行时,可以将 INSSLR2 配置为在以下几种模式下运行:
如果主节点失败或已停止,备份组件则为活动状态。 每当主组件再次变得可用时,会再次假定 IP 地址并变为活动状态。 主组件在 fover 接口上是具有最低 IP 地址(通过字符串比较)的一个组件。
每当第一个组件再次变得可用时,它不会自动接管 IP 地址。
在冗余模式下运行时,INSSLR2 在其 ctl 终端上提供一个界面,用于:
INSSLR2 持续不断地监控连接到其 http 终端的后端组件的运行状况。 INSSLR2 执行的运行状况检查可能包含简单的 TCP 连接检查或更复杂的 HTTP 请求(在 INSSLR2 的边界上指定)。
在连接的组件失败时,INSSLR2 会将错误报告给网格显示板,或者(如果处于冗余模式并配置为这样做)故障切换到备份 INSSLR2 组件。
要支持需要在多个服务的单个 IP 地址中显示的应用,可将 INSSLR2 配置为将非 HTTP 流量透明地定向到单独的输出终端。 对于此类连接,组件充当第 3 层防火墙/NAT 路由器。
资源
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.05 |
4 |
0.05 |
|
内存 |
192 MB |
2 G |
192M |
|
带宽 |
1 Mbps |
2 Gbps |
200 Mbps |
注释
终端
|
名称 |
方向 |
协议 |
说明 |
|
ctl |
in |
http |
接收有关组件已被强制为主服务器/备份服务器的通知。 仅当 fover_mode 不是 none 时,该终端才接受连接。 使组件主动或被动的有效 http 要求是: /?action=<active|passive|kill|status 如果另一个节点不活动且故障转移无法完成,此操作可能不成功,且不返回错误。 调用应用通过发出以下请求来检查组件的状态。 /?action=status 状态返回组件的当前主动或被动的状态。 kill 进行组件的强制关闭。 如果正在运行,就会使其他节点接管。 |
|
in |
in |
任何 |
接受所有传入流量 您可以通过使用应用配置编辑器的“接口”选项卡配置连接到此终端的接口。 |
|
fover |
in |
raw |
两个 INSSLR2 实例之间的双向通讯的故障切换接口。 您可以通过使用应用配置编辑器的“接口”选项卡配置连接到此终端的接口。 |
|
http |
out |
http |
在配置的外部 IP 地址接收的 HTTPS 和/或 HTTP 请求,将在标准 HTTP 端口 80 上作为简单 HTTP 请求定向到输出 http。 除客户端提供的 HTTP 头之外,转发的请求还包含以下信息头:
|
|
fs |
out |
nfs |
为用于存储密钥的本地密钥卷提供一个 nfs 挂接作为备用位置。 如果同时提供本地密钥卷和 fs 终端连接,组件将无法启动。 此终端可能仍旧未连接。 |
|
aux |
out |
任何 |
其他协议的输出(如果配置)。 有关详细信息,请参阅 l3_accept_ * 属性。 |
|
nfy |
out |
http |
每当发生故障切换时发出通知。 另请参阅 fover_nfy_prefix。 此终端可能仍旧未连接。 |
|
mon |
out |
cce |
发送性能和资源使用统计信息 |
属性
|
名称 |
类型 |
说明 |
|
dns1 |
IP addr |
定义主要 DNS 服务器。 如果远程主机由其 IP 地址指定,那么 dns1 可仍为空。 否则,您一定指定 dns1。 默认值:(空) |
|
dns2 |
IP addr |
定义主要 DNS 服务器无响应时使用的备用 DNS 服务器。 默认值:(空) |
|
l7_accept |
enum |
指定接受将哪种类型的 HTTP 流量转发到 http 终端。 有效值:https、http、both、none 如果设置为 none,则只根据 l3_accept_* 属性重定向所有流量。 默认值:both |
|
l3_accept_proto |
enum |
指定应将哪些协议转发到 aux 终端。 有效值:none、tcp、udp、raw、all。 如果设置为 raw,则由 l3_accept_port 属性指定协议编号。 如果设置为 all,则将外部接口上的所有传入流量转发到 aux 终端。 l7_accept 属性有优先权。 注意:如果您将 l7_accept 设置为不同于 none 的值,那么所有 http(s) 被转发到 http 终端,剩余的流量进入由此属性指定的 aux。 默认值:none |
|
l3_accept_port |
字符串 |
以逗号或空格分隔的协议列表,以便接受并在由 l3_accept_proto 指定的协议路由到 aux 终端。 列表中的协议可指定为端口号或标准的协议名称,如使用 raw 协议指定 TCP 或 UDP 端口或 gre 和 tcp 时的 ftp 和 smtp。 也可将端口范围指定为 1024:10000 或 0:1024。 如果为空,则转发指定协议的所有端口。 注意:如果将 l3_accept_proto 设置为 raw,则必须指定在这种情况下指定协议数目的属性。 可指定多个 raw 协议,但没有协议范围,如允许 20:30。 默认值:all |
|
allowed_hosts |
字符串 |
允许连接的主机和/或子网的列表。 必须使用空格或逗号分隔多个条目。 支持的格式示例:192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0。 默认值:0.0.0.0/0(全部允许) |
|
key_on_fs |
字符串 |
指示密钥通过 fs 终端 (on) 存储在 nfs 挂接上还是存储在本地密钥卷上 (off)。 有效值:on 和 off 默认值:off |
|
cert_file |
字符串 |
该网关实例应为客户端提供的服务器证书的文件名(相对于数据卷根)。 如果将 l7_accept 设置为 http 或 both,有效证书必须出现在由此属性指定的位置上配置的数据卷上。 否则 INSSLR2 无法启动。 有关详细信息,请参阅“卷”。 默认值:server.pem |
|
unsafe_ssl |
字符串 |
启用“不安全的”ssl 密码,以便与旧浏览器兼容。 默认值 disabled 将禁用 SSLv2 密码以及被视为不安全的其他一些 SSLv3 和 TLSv1 密码。 建议将该属性设置为 disabled,除非您需要对仅使用 SSLv2 的传统浏览器支持 http 会话。 设置为“enabled”时,会将系统上所有可用的 SSL 密码用于 https 会话。 这包括 SSLv2。 默认:disabled 版本 1.2.1 中添加了该属性。 |
|
keepalive |
整数 |
指定 INSSLR2 和客户端之间的最长保持连接时间。 以秒为单位指定时间。 默认值:15 |
|
timeout |
整数 |
指定 INSSLR2 等待后端服务器输出的秒数。 如果后端服务器在超时秒数内未发送输出,连接将会关闭。 默认值:300 |
|
max_request_size |
整数 |
客户端请求的最大大小 (MB)。 如果应用需要处理较大的客户端上载,请增大此值。 默认:10 |
|
adv_config |
字符串 |
在 http 和 https 侦听程序(以启用的那一个为准)的位置块内添加要插入到 nginx conf 中的原始配置。 例如:要添加自定义头,请将 adv_config 设置为 proxy_set_header myport $proxy_port;。 这样会向发送给后端服务器的请求中添加 myport: 80。 可将 adv_config 设置为位置块的任何有效语句。 有关详细信息,请参阅 nginx 文档。 可以添加用 ; 分隔的多个配置行。 注意:如果设置,该属性必须采用有效的 nginx 语法(以 ; 结束),否则组件将无法启动。 默认值:(空) |
|
client_cert |
字符串 |
启用客户端证书身份验证。 有效值:on、ask 和 off 如果设置为 on,则强制使用客户端证书身份验证,只有具有有效证书的客户端可以向 INSSLR2 发出成功请求。 如果设置为 ask,将请求客户端提供证书,但即使未提供有效证书也会建立连接。 默认值:off |
|
client_depth |
整数 |
要在成链客户端证书中进行的验证深度。 如果未设置 client_cert,该属性将无效。 有效值:1-9 默认值:1 |
|
ca_list_client |
字符串 |
包含 PEM 格式的 CA 证书序列的文件。 连接时,会将所列 CA 证书的名称发送到客户端。 这会通知客户端它应发送哪个客户端证书。 可使用同一列表来验证客户端证书。 该文件名相对于已挂接的密钥卷的根目录或通过 fs 终端进行的 nfs 挂接的根目录,并且可以包含路径,如: path/to/keys/ca_list_client.pem。 默认值:ca_list_client.pem。 |
|
cert_revocation_list |
字符串 |
包含证书颁发机构生成的证书吊销列表 (CRL) 的文件。 该列表标识 CA 吊销的客户端证书。 将在该列表中搜索提供给 INSSLR2 的每个客户端证书,如果发现该证书已被吊销,INSSLR2 将向客户端发出“SSL 证书错误”响应。 该文件名与 ca_list_client 相似,也相对于已挂接的密钥卷的根目录或通过 fs 终端进行的 nfs 挂接的根目录,并且可以包含路径,如: path/to/keys/ca_list_client.pem。 默认值:空 |
运行状况检查属性
|
名称 |
类型 |
说明 |
|
healthcheck_method |
字符串 |
用于执行后端 Web 服务器运行状况检查的方法。
默认值:off。 |
|
healthcheck_url |
字符串 |
用于以 http_get 和 http_head 运行状况检查方法执行后端 Web 服务器运行状况检查的 URL。 可指定为完整 URL(如,http://host.name/file/to/check/for.php)或相对路径(如,/file/to/check/for.php)。 如果指定为 URL,INSSLR2 在使用从 Host: 头中的 UR 中提取的主机名执行运行状况检查时将使用 HTTP/1.1 协议。 允许使用虚拟主机。 如果指定为相对路径,INSSLR2 将使用 HTTP/1.0 协议,并检查该属性指定的文档。 默认值:/ |
|
healthcheck_agent |
字符串 |
用作 http_get 和 http_head 运行状况检查方法的代理标识符的字符串。 默认值:INSSLR2-health-check |
|
healthcheck_regexp |
字符串 |
用于 http_head 和 http_get 运行状况检查模式的测试字符串。 短或通用值,如“OK”,将可能引起误报匹配。 此字符串是一个 perl 正则表达式。 默认值:^HTTP\/1\.\d\s+200 |
|
healthcheck_interval |
整数 |
后端 Web 服务器运行状况检查之间的时间间隔。 以秒为单位指定。 默认值:60 秒。 |
|
healthcheck_timeout |
整数 |
运行状况检查花费的最长时间(秒)。 如果超过超时。 将此检查视为失败且被终止。 启动新检查。 默认:10 |
|
healthcheck_alert |
整数 |
在 INSSLR2 开始在网格显示板上转储错误之前的后续运行状况检查失败数。 如果设置为 0,则不向显示板报告任何错误,但仍启用运行状况检查。 为了避免在启动/停止应用时出现误报,请勿将此值设置得太低。 如果在冗余模式下运行 INSSLR2 并且要在后端服务器出现故障的情况下切换到备份节点,有关详细信息另请参阅 fover_on_healthcheck。 默认值:3 |
用于故障切换方案的高级属性
|
名称 |
类型 |
说明 |
|
fover_mode |
字符串 |
故障切换模式。 有效值:none(无故障切换)、symmetric 和 asymetric 设置为 none 时,INSSLR2 如 INSSLR2 组件一样操作且不提供故障切换功能。 设置为 symmetric 时,INSSLR2 以对称故障切换模式运行。 您需要两个 INSSLR2 组件,两者以对称故障切换模式运行。 设置为 asymmetric 时,INSSLR2 以非对称故障切换模式运行。 您需要两个 INSSLR2 组件,两者以非对称故障切换模式运行。 注意:在故障切换模式下运行时,两个组件都必须将 fover_mode 设置为相同的值。 默认值:none |
|
fover_remote_ip |
IP addr |
用于故障切换模式的其他 INSSLR2 组件的远程 IP 地址。 注意:如果已将 fover_mode 设置为 none,则可将该属性留空。 默认值:(空) |
|
fover_nfy_prefix |
字符串 |
每当发生故障切换时请求的 Url 前缀。 请求的 URL 是: http://nfy/ fover_nfy_prefix fover_mode= fover_mode &state= <start|stop> &ip_addr= ip_addr &fover_local_ip= fover_local_ip &fover_remote_ip= fover_remote_ip &fover_netmask= fover_netmask 并通过 nfy 终端。 默认值:? |
|
fover_on_healthcheck |
整数 |
指定如果对 http 终端的运行状况检查失败,INSSLR2 是否应故障切换到备份节点。 如果设置为非零值,INSSLR2 将在后续的许多运行状况检查失败后进行故障切换。 为了避免在启动/停止应用时出现误报,请勿将此值设置得太低。 如果您只是需要失败的通知,参阅 healthcheck_alert。 默认值:0(禁用)。 |
卷
|
名称 |
说明 |
|
key |
一个只读数据卷(占位符),至少包含 SSL 服务器签名密钥。 该文件应为 PEM 格式。 除非已修改 cert_file 属性来指定不同名称,否则证书应位于名为 server.pem 的密钥卷的根目录中。 |
当组件无法启动时,网格控制器的组件日志文件或系统日志中可能会出现下列消息:
INSSLR2 以大约 10 秒的时间检测到 INSSLR2 失败,并需要另外的 10 秒时间故障切换到其他应用。 从最初发生应用故障到其他应用接管流量的总时间大约为 20 秒。
INSSLR2 每秒路由的事务数不少于 3000 个(请求/响应对),此速率受文档大小和可用网络带宽的限制。
INSSLR2 路由速率不低于 7 MB/秒,受文档大小和可用网络带宽的限制
在使用默认内存的情况下,INSSLR2 支持不少于 500 个并发的未决请求。 未决请求是来自客户端的开放 TCP 连接,其中有一个或多个未完成的 HTTP 请求正在进行中。
最大并发连接数取决于可用内存。 每增加 16 MB 内存可将并发的 http 事务数增加 500。
例如,如果您在冗余模式下运行且要提供 2000 个并发连接,那么您需要 100M + 3*16M = 148M。 在冗余模式下运行的最小内存是 100M。
在以冗余模式运行(fover_mode 不是 none)时,每当 INSSLR2 变为主动/被动时都将触发通知。 这种情况在活动节点启动或发生故障切换时执行。 每个节点发送变为主动或被动的通知。
INSSLR2 发送两则通知:
请求的 URL 是:
http://nfy/ fover_nfy_prefix fover_mode= fover_mode &state= <start|stop> &ip_addr= ip_addr &fover_local_ip= fover_local_ip &fover_remote_ip= fover_remote_ip &fover_netmask= fover_netmask
您可以使用 fover_nfy_prefix 来更改所调用的远程脚本的位置和/或添加其他参数。
fover_nfy_prefix 值的示例:
/path/to/script.php?, /path/to/script.php?username=user&password=pass&。
注意:
INSSLR2 每分钟运行一次 cronjob 以检查:
如果上面任何一项为“是”,则将错误消息发送到网格显示板。 如果多个测试失败,网格显示板上将发布包含所有错误的摘要消息。
每小时只会向网格显示板发送每条错误一次。 在组件启动之后的开始 5 分钟内,没有报告错误。 在复制的另一个节点没有启动时,这可以防止误报。
要使用 SSL,您需要已签名的证书以及对其进行加密的私钥。 私钥和证书应采用 PEM 格式,并放在 cert_file 属性指定的单个文件中。
生成服务器证书
您可以生成由信任的证书颁发机构 (CA) 签署的服务器证书(收费),或创建自签名证书。
完成以下步骤:
openssl genrsa -out privkey.pem 2048
您也可以使用以下命令生成一个通行受保护密钥。 然而,如果创建通行受保护密钥,您需要在 INSSLR2 中使用它之前删除该密码。 INSSLR2 需要无密码密钥。
openssl genrsa -des3 -out privkey.pem 2048
执行以下命令:
openssl req -new -key privkey.pem -out server.csr
在将 .csr 文件发送到可信的证书颁发机构之后,该机构将为您返回可以使用的已签名证书(.crt 文件)。
执行以下命令:
openssl req -new -x509 -key privkey.pem -out server.crt -days 1095
使用服务器证书
您现在可以将证书和密钥放置在文件中,并通过执行以下命令,在 INSSLR2 使用它:
cat privkey.pem server.crt > server.pem
如果您的密钥受密码保护,则可通过执行以下命令来删除密码:
openssl rsa -in key_with_pass.pem -out privkey.pem
使用现有的 apache+mod_ssl 服务器证书
INSSLR2 允许您使用在 Apache 中使用的现有证书。 使用以上步骤验证该密钥不受密码保护,然后将专用证书和密钥放置在单个文件中。
例如:
如果使用成链的证书,还应包括颁发者提供的中间证书。 按顺序将私钥、证书和中间证书放置在单个文件中。
例如:
重要信息! 服务器签名密钥是网站的身份证明。 由于未对密钥的密码进行加密(以便组件无需您的帮助即可读取该密钥),因此该密钥也容易受到攻击。
在数据卷上安装时,要采取措施保护密钥文件。 不要将相同的数据卷用于其他目的,且对于 Web 服务器不可见。 例如,对于主机 Web 可访问的数据,如 HTML 页面和脚本。
以下示例概述了如何创建您自己的证书颁发机构,并通过 OpenSSL 使用该机构来签署自己的证书。 此操作已使用 OpenSSL 0.9.8b(与安装在 INSSLR2 中的版本相同)进行测试。
创建证书颁发机构
如果您已有自己的用于创建自签名服务器证书的证书颁发机构,则可跳过此步骤并使用该证书颁发机构。 在为应用创建可信颁发机构的规范时,环境安全非常重要。
重要信息! 证书颁发机构的私钥是应用的信任基础。 不要错放或向其他方提供。
完成以下步骤:
openssl genrsa -des3 -out CA/private/CA_key.pem 2048
openssl req -new -key CA/private/CA_key.pem -x509 -days 365 -out CA/CA_cert.pem
创建由证书颁发机构签署的客户端证书
您可以创建由证书颁发机构签署的客户端证书。
完成以下步骤:
openssl genrsa -out clientA_privkey.pem 2048
要创建受密码保护的密钥,请使用 -des3 选项
openssl req -new -key clientA_privkey.pem -out clientA_request.csr
openssl x509 -req -days 365 -in clientA_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAcreateserial -out clientA.cer
注意:
例如:
openssl genrsa -out clientB_privkey.pem 2048
openssl req -new -key clientB_privkey.pem -out clientB_request.csr
openssl x509 -req -days 365 -in clientB_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAserial CA/CA_cert.srl -out clientB.cer
cat clientA_privkey.pem clientA.cer > clientA.pem
openssl pkcs12 -export -in clientA.cer -inkey clientA_privkey.pem -out clientA.p12
创建 INSSLR2 使用的 CA 列表文件
吊销 CA 签署的客户端证书
要吊销 CA 颁发的客户端证书,请使用以下命令:
openssl ca -config openssl.conf -revoke clientB.cer -crl_reason keyCompromise
下面显示了一个示例 openssl.conf,crl_reason 参数为下列其中一项:unspecified、keyCompromise、CACompromise、affiliationChanged、superseded、cessationOfOperation、certificateHold 或 removeFromCRL。 原因的匹配不区分大小写。
重新生成证书吊销列表 (CRL):
openssl ca -config openssl.conf -gencrl -out CA/crl.pem
在该示例中,crl.pem 是应作为 cert_revocation_list 属性提供给 INSSLR2 的文件。
用于以上示例的示例配置文件为:
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
####################################################################
[ CA_default ]
dir = ./CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = sha1 # which md to use.
preserve = no # keep passed DN ordering
policy = policy_anything
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
创建 INSSLR2 使用的证书颁发机构列表文件
您可以创建 INSSLR2 使用的证书颁发机构列表文件。
创建 ca_list_client 属性标识的文件:
cat CA/private/CA_key.pem CA/CA_cert.pem > ca_list_client.pem
如果需要,也可以按照与创建客户端证书相同的方式创建 INSSLR2 服务器证书(例如:server.pem)并由创建的证书颁发机构签署。 不要对此证书使用密码。
Tools=>Options=>View Certificates=>Your Certificates=>Import。 在浏览器中打开 INSSLR2 的 IP 地址。
openssl s_client -host IP-address -port 443 -showcerts -ssl3 -cert clientA.cer -key clientA_privkey.pem -state
客户端证书头
如果客户端使用 HTTPS 连接到 INSSLR2,并且存在客户端证书,INSSLR2 会向其返回到后端服务器的请求添加以下头:
使用或不使用这些头是应用的责任。 INSSLR2 只是传递此信息而不进行验证,除签名和加密的正确性之外。
Web 应用
要向您的应用提供 http(s) 访问,请将 http 终端直接连接到 WEB 组件。

针对可扩展 Web 应用,将 http 终端连接到 HALB 组件。

配置示例只列出了设为非默认值的属性。
|
名称 |
类型 |
说明 |
|
17_accept |
http/https/both |
指定所使用的 l7 协议。 如果指定 https 或 both,密钥卷应包含 cert_file 属性指定的 ssl 证书。 |
带有附加服务的 Web 应用
如果应用中除包含 http 之外还包含其他服务,可以使用 INSSLR2 向其 http 终端传递 http 流量,并将 aux 终端用于其他服务。

|
属性 |
值 |
注释 |
|
17_accept |
http/https/both |
指定使用的 l7 协议。 如果指定 https 或 both,密钥卷应包含 cert_file 属性指定的 ssl 证书。 |
|
l3_accept_proto |
tcp |
将 tcp 端口 25、110、143 重定向到 aux 终端。 |
|
l3_accept_port |
25,110,143 |
将 tcp 端口 25、110、143 重定向到 aux 终端。 |
带有多个附加服务的 Web 应用
如果有多个 TCP/UDP 服务和 HTTP,您可以使用 INSSLR2 将 HTTP 流量传送给其 HTTP 终端,并使用 aux 将剩余流量馈送给 PS8。 然后 PS8 将所需的流量馈送给后端服务器。

|
属性 |
值 |
注释 |
|
17_accept |
http/https/both |
指定使用的 l7 协议。 如果指定 https 或 both,密钥卷应包含 cert_file 属性指定的 ssl 证书。 |
|
l3_accept_proto |
all |
将未传递到 http 终端的所有 IP(icmp 除外)流量都重定向到 aux 终端。 |
冗余的 Web 应用
要提供冗余的 Web 应用,可以复制应用并使用 INSSLR2 为外部 IP 地址提供故障切换功能。
注意:如果相同应用中的两个 INSSLR2 组件配置为以冗余模式运行,当您在两个不同的接口上配置相同的 IP 地址时,会显示警告消息。 请忽略该错误。
备份 Web 应用
如果您需要一个备份应用,用于针对停机时间向用户发出通知,则可使用 INSSLR2 来生成需要最少资源的备份应用。
正在使用的组件:
主应用中的 INSSLR2
|
属性 |
值 |
注释 |
|
fover_mode |
asymmetric |
只在主应用关闭时使用备份应用,因此在非对称模式下运行。 |
|
fover_remote_ip |
192.168.100.2 |
在两个应用中的 INSSLR2 组件之间通信所用的远程 IP 地址。 |
备份应用中的 INSSLR2
|
属性 |
值 |
注释 |
|
fover_mode |
asymmetric |
只在主应用关闭时使用备份应用,因此在非对称模式下运行。 |
|
fover_remote_ip |
192.168.100.1 |
在两个应用中的 INSSLR2 组件之间通信所用的远程 IP 地址。 |
注意:您可以使用应用配置编辑器的“接口”选项卡配置连接到 fover 终端的接口属性。 例如,fover_local_ip 以及 fover_netmask 属性。
单个应用中的冗余 Web 应用
要在没有创建新应用的情况下,以冗余模式运行应用,您可以加倍组件并以冗余模式运行。 因为这涉及在正常模式中使用至少二个 Web 服务器和两个数据库组件,所以使用提供可扩展性的全部组件。 然而,在一个组件失败的情况下,另外一个可以提供单独的应用服务。
如果需要更多的可扩展性,则可添加更多 Web 和数据库组件。 在此示例中,一半组件(in1、sw1、web1、db1)在一个故障切换组中运行,其余组件(in2、sw2、web2、db2)在另一个故障切换组中,因此当一台服务器崩溃时,应用可以幸免。 该应用以极低的成本提供冗余,因为所有组件(一个 INSSLR2 和一个 HALB 组件除外,它们需要的资源极少)都处于活动状态,并且不需要为只在主应用出现故障时运行的备份应用花费资源。

in1
|
属性 |
值 |
注释 |
|
fover_mode |
symmetric |
以对称模式运行。 |
|
fover_remote_ip |
192.168.100.2 |
在两个应用中的 INSSLR2 组件之间通信所用的远程 IP 地址。 |
in2
|
属性 |
值 |
注释 |
|
fover_mode |
symmetric |
以对称模式运行。 |
|
fover_remote_ip |
192.168.100.1 |
在两个应用中的 INSSLR2 组件之间通信所用的远程 IP 地址。 |
db1
|
属性名 |
值 |
注释 |
|
auto_create |
1 |
如果卷为空,则创建数据库。 |
|
server_id |
1 |
主服务器 1。 在远程应用中应有所不同 |
|
rpl_mode |
master_and_slave |
主服务器和从服务器 |
db2
|
属性名 |
值 |
注释 |
|
auto_create |
1 |
如果卷为空,则创建数据库。 |
|
server_id |
1 |
主服务器 1,在远程应用中应有所不同 |
|
rpl_mode |
master_and_slave |
主服务器和从服务器 |
带有两个相同应用的冗余 Web 应用
您可以在相同的网格上运行两个相同的应用,但是在单独服务器或不同网格上则无法运行(如果从两个网格都可以访问该 IP 地址)。 这种情况允许服务器失败仅影响一个应用。
注意:如果相同应用中的两个 INSSLR2 组件配置为以冗余模式运行,当您在两个不同的接口上配置相同的 IP 地址时,会显示警告消息。 请忽略该错误。
以下示例显示使用也在冗余模式下运行的数据库组件的应用。 如果一个应用失败,另外一个应用可以在没有数据丢失的情况下接管。

正在使用的组件:
客户端请求到达 insslr 网关。 该网关将请求转发给 web_lb 负载均衡器,后者将请求定向到 Web 服务器 web1 或 web2 中的一个。
Web 服务器访问 db 数据库。 db 组件连接到远程应用。 为了复制数据库,远程应用是相同的副本,而唯一的差异是 db 的 server_id 和网络设置。
远程应用通过 repl_in 网关连接到 db 组件,该网关配置为只允许来自远程应用的 repl_out 网关的连接。 两个应用中的 db 组件以主服务器-主服务器设置运行,确保它们的数据始终相同。
示例属性配置
未列出的属性应保留为其默认值。 使用端口 8080 上的 admin 网关可以对 db 进行 Web 访问。
insslr
|
属性 |
值 |
注释 |
|
fover_mode |
symmetric |
以对称模式运行。 |
|
fover_remote_ip |
192.168.100.2 |
在两个应用中的 INSSLR2 组件之间通信所用的远程 IP 地址。 在远程应用中将此值更改为 192.168.100.1。 |
db
|
属性名 |
值 |
注释 |
|
auto_create |
1 |
如果卷为空,则创建数据库。 |
|
error_log_filename |
db.error |
要在日志数据卷上存储的错误日志文件的名称。 |
|
error_log_level |
error |
错误日志记录级别 |
|
server_id |
1 |
主服务器 1,在第二个应用中该值应该不同 |
|
rpl_mode |
master_and_slave |
主服务器和从服务器 |
重要信息! 在任何时候只有一个应用处于活动状态,另一个只为故障切换而运行并在活动应用出现故障时使用。
注意:
INSSLR2 除了使用其基类 LUX6 所用的第三方开源软件包之外,还使用下列第三方开源软件包。
|
软件 |
版本 |
已修改 |
许可 |
注释 |
|
PyXML |
0.8.4-19 |
No |
不适用 |
|
|
heartbeat |
3.0.4-1 |
No |
不适用 |
|
|
heartbeat-libs |
3.0.4-1 |
No |
不适用 |
|
|
iptables |
1.4.7-5.1.el6_2 |
No |
不适用 |
|
|
libgcrypt |
1.4.5-9.el6_2.2 |
No |
GPLv2 |
不适用 |
|
libgpg-error |
1.7-4 |
No |
不适用 |
|
|
lighttpd |
1.4.18-1 |
No |
不适用 |
|
|
nginx |
0.7.62-1 |
Yes |
不适用 |
|
|
sudo |
1.7.4p5-13.el6_3 |
No |
不适用 |
|
|
telnet |
0.17-47 |
No |
不适用 |
|
版权所有 © 2013 CA。
保留所有权利。
|
|