本主题介绍如何为 Virtualize 服务器配置部署设置。有关为服务器配置单个虚拟资产部署设置的详细信息,请参阅配置部署到 Virtualize 服务器的虚拟资产。 

章节目录:

配置 Virtualize 服务器启动和身份验证选项

您可以根据服务器设置中的说明从首选项面板配置其他设置(例如,启动、身份验证和 CTP 通知选项)。

安全考虑因素

应以安全的方式在可信网络中部署 Virtualize 服务器。Virtualize 服务器托管可用于管理虚拟资产的 web 服务,因此任何可以通过网络访问 Virtualize 服务器的主机都可以添加、修改或删除该 Virtualize 服务器托管的虚拟资产。 您可以在 Virtualize 服务器前使用代理服务器或网关,在 Virtualize 服务器提供的安全保护之外应用额外的安全保护。

发送登录凭据时,应使用 Virtualize 服务器的 HTTPS 端口(9443)。 

在不受信任的网络(如互联网)中部署 Virtualize 服务器时需格外小心。我们建议您使用防火墙阻止未经授权的访问(如通过 IP 地址限制访问)。还可以在 Virtualize 服务器前使用代理服务器或网关,增加身份验证、过滤和日志记录功能。

为 Virtualize 服务器配置 SSL(HTTPS)

如果 AUT 部署在使用 SSL 通信的环境中,则需要确保 Virtualize 服务器能够与 AUT 及其依赖项通信。有几种方案

  1. (首选)为 Virtualize 服务器创建证书,用 AUT 信任的证书颁发机构签署证书,并为安装 Virtualize 服务器的发放颁发证书。使用此选项,您无需对 AUT 进行任何更改。
  2. 使用生成的(可能是自签名)证书配置 Virtualize 服务器,并将其添加到 AUT 的信任库中。
  3. 将实际服务器证书添加到 Virtualize。该选项假定可以访问服务器证书和密钥,而且很难或应避免更改 AUT。但是,如果签署证书的主机名与部署 Virtualize 的主机名不同,则可能无法使用此选项。
  4. 在 AUT 中禁用证书信任。AUT 仍将通过 SSL 连接,但会信任任何服务器(如 Virtualize 服务器),不会验证其证书或信任路径。

AUT 要接受证书/私人密钥对,一般至少需要自签名证书/私人密钥对,其通用名(CN)参数与服务器的完全限定名称相匹配。例如,如果 Virtualize 服务器 URL 为 http://myserver.mycompany.com,CN 参数应为“myserver.mycompany.com”。

在任何情况下,Virtualize 都可以配置为通过端口 9443(默认 SSL 连接器)或其他端口接受传入的 HTTPS 连接。 

配置 server.xml

SSL 详细信息可通过修改 server.xml 中的 SSL HTTP/1.1 Connector 项进行配置例如:

<Connector port="9443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:/Path To Keystore/virtualize.pfx"
keystorePass="security" keyAlias="virtualize" keystoreType="PKCS12" truststoreFile="../lib/cacerts"
truststorePass="changeit" truststoreType="JKS" />

要访问 server.xml 文件,请启动 Virtualize 并确保至少已创建一个响应器。该文件位于 <INSTALL-DIR>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/tomcat/conf 目录下。

keystoreFile

server.xml 中为 keystoreFile 属性设置的值取决于您的配置选项。 

如果使用首选方案(方案 1)或方案 2,请使用生成的服务器密钥库的路径。虽然密钥库路径可以是 server.xml 文件位置的相对路径,但最好还是提供绝对路径,以确保配置正确。 

如果使用方案 3,属性应指向与要模拟的实际 SSL 服务相同的密钥库文件。使用斜线(/)而不是反斜线(\)。例如 C:/Users/myUser/keystore.jks

选择方案 4 时,无需修改 keystoreFile 属性。

keystorePass

keystorePass 属性设置为密钥库的密码。

keyAlias

设置 keyAlias 属性,指向证书/私人密钥对的别名

keystoreType

keystoreType 设置为正在使用的密钥库类型,如 PKCS12、JKS、BKS、UBER 或 PEM。

clientAuth

对于双向 SSL(相互验证),clientAuth 属性必须设为 true,并使用 truststoreFiletruststorePasstruststoreType 属性指定用于验证客户端证书的信任库:

  • 修改 truststoreFile,指向您的密钥库文件。使用斜线(/)而不是反斜线(\)。例如 C:/Users/myUser/keystore.jks
  • truststorePass 修改为密钥库的密码
  • 根据使用的密钥库类型,将 truststoreType 修改为 PKCS12、JKS、BKS、UBER 或 PEM。

其他配置详细信息

有关如何启用和配置 SSL 连接器的详细信息,请参阅 Apache Tomcat 文档(https://tomcat.apache.org/tomcat-8.5-doc/ssl-howto.html)。

可以为 SSL 配置多个端口号。如果需要虚拟化不同的密钥库/证书配置,通常会出现这种情况。

默认 SSL 连接器(带 name="default" 属性)端口号应在 Virtualize 服务器首选项中更改(详情请参阅服务器设置)。当 Virtualize 启动时,首选项设置将优先于 server.xml 设置。

您可以根据需要在 server.xml 中添加其他 Connector 元素,并使用不同的名称和不同的 SSL/证书配置。虚拟资产和代理不能映射到特定的 Connector 端口。任何虚拟资产都可以根据虚拟资产路径、代理路径或响应器关联规则中的头部、URL 和消息内容关联标准来处理在特定连接器/端口上收到的消息,而不是根据端口。

URI 字符编码

Virtualize 服务器支持 Tomcat 的 relaxedPathCharsrelaxedQueryChars 属性(请参阅 https://tomcat.apache.org/tomcat-8.5-doc/config/http.html)。这些属性使您能够指定在 URI 路径和 URI 查询字符串中应允许哪些未编码字符。可以指定以下字符:" < > [ \ ] ^ ` { | }

如果不指定允许的字符,Tomcat 服务器将拒绝 URI 路径和查询中包含一个或多个未编码字符的消息。 

将 relaxedPathChars 和 relaxedQueryChars 属性添加到 server.xml 文件的 <Connector> 元素中,并指定要允许的字符。如果有多个 <Connector> 元素,请将属性添加值 protocol 设置为 HTTP 和 HTTPS 的元素中。该文件位于 <INSTALL-DIR>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/tomcat/conf 目录下。

示例:

<Connector
   URIEncoding="UTF-8" allowTrace="true" connectionTimeout="20000"
   enableLookups="true" name="default" port="9080" protocol="HTTP/1.1"
   redirectPort="9443" 
   server="Parasoft Server"
   relaxedPathChars="&quot; &lt; &gt; [ \ ] ^ ` { | }"
   relaxedQueryChars="&quot; &lt; &gt; [ \ ] ^ ` { | }"
/>

您也可以在 HTTP 监听器层级配置这些属性。请参阅HTTP 反向代理配置

访问服务器配置面板

您可以在服务器配置面板中为 Virtualize 服务器配置各种首选项和设置。打开面板:

  1. 请在 GUI 模式下启动 Virtualize 服务器。
  2. 在 Virtualize 服务器视图中,双击服务器节点打开配置面板。
     

在此面板中查看和修改与监控、服务器统计数据、全局 JMS 和 MQ 连接以及用户身份验证(仅适用于远程服务器)相关的设置。 

监控选项卡

此选项卡显示 Virtualize 服务器统计数据概要。详情请参阅收集服务器统计数据

服务器配置选项卡

点击服务器配置选项卡查看和配置事件监控和统计数据收集设置。有关该选项卡中设置的信息,请参阅以下章节: 

连接选项卡

如果被测应用程序通过 MQ 队列管理器 或 JMS 提供者发送和接收消息,请点击连接选项卡来定义连接设置。部署到 Virtualize 服务器的资产和代理可以配置为使用连接设置与被测应用程序通信。您可以配置以下操作:

添加 MQ 队列管理器连接

点击 MQ 队列管理器部分的添加,并指定以下配置。配置完成后点击测试连接,验证服务器上的代理和虚拟资产能否与该队列管理器通信。在此界面中配置的设置同样也用于虚拟资产或代理配置面板。 

模式

从下拉菜单中选择以下模式之一:

  • 默认 - 手动输入主机、端口和通道等连接详细信息
  • CCDT - 指定客户端通道定义表(CCDT)文件,该文件可提供连接详细信息
  • Bindings - 队列管理器和连接的应用程序在同一系统上运行时,使用绑定模式。IBM WebSphere MQ Java API 使用 Java 本地接口(JNI)直接连接队列管理器。要使用绑定传输,JMS 的 IBM MQ 类必须在可以访问 IBM MQ Java Native Interface 库的环境中运行。

主机(默认模式)

指定 MQ 队列管理器主机。

端口(默认模式)

指定 MQ 队列管理器端口。

通道(默认模式)

指定 MQ 队列管理器通道。

CCDT 文件(CCDT 模式)

指定客户端通道定义表格文件的位置,该表格提供了连接详情。

队列管理器

指定队列管理器的名称。

用户名

如果要求登录凭据,则在该字段中指定用户名。

密码

如果要求登录凭据,则在该字段中指定密码。

SSL 属性

如果 Virtualize 服务器上托管的虚拟资产和消息代理需要通过 SSL 与测试中的服务通信,请启用连接服务时使用 SSL 并配置 SSL 设置。 

启用信任所有服务器证书,允许 Virtualize 服务器接受任何证书。当服务器上的虚拟资产或消息代理与服务建立连接时,该选项会禁用信任验证,并强制资产或代理使用存在的证书服务接受连接。一般来说,如果证书信任不是部署 Virtualize 环境的重点,则应启用此选项。

CipherSuite(SSL)

指定用于特定 MQ 通道上 SSL 连接的 CipherSuite。请参阅 IBM MQ 文档,以确定根据 CipherSpec 选择哪个 CipherSuite。 

对等名称(SSL)

(可选)指定一个对等名称,以验证队列管理器提供的证书是否符合对等名称参数指定的标准。服务器验证将此参数与队列管理器提供的证书的 DN(可分辨名称)相匹配。 

密钥库设置

指定队列管理器用于通过 SSL 验证虚拟资产和消息代理的密钥库文件、密钥库密码和密钥库类型。如果 MQ 通道不要求 SSL,则不需要进行密钥库设置。配置密钥库设置后,点击验证以确认设置配置正确。 

信任库设置

指定虚拟资产用于通过 SSL 验证队列管理器的文件、密码和库类型。配置信任库设置后,点击验证以确认设置配置正确。

启用信任所有服务器证书选项会禁用信任库配置设置。

如果使用密钥/信任库,则需要下载并安装 Unlimited Strength Java Cryptography Extension。详情请参阅 JCE 前提条件

复制 MQ 管理器连接

您可以在服务器之间复制现有的 MQ 管理器连接设置。可以从远程服务器或本地服务器中复制设置。

  1. 打开包含要复制的连接配置的服务器设置。例如,如果要将远程服务器的连接设置复制到本地实例中,请打开远程服务器的配置面板。
  2. 点击连接选项卡,选择要复制的连接配置。可以通过 CTRL-点击或 COMMAND-点击复制单个连接或多个连接。
  3. 点击复制并从菜单中为连接设置指定目标服务器。
  4. 点击 OK 复制设置。如果目标服务器上已有相应设置,则不会复制设置。 

使用 MQ 队列管理器连接设置

添加连接后,您就可以在添加和配置代理以及 Virtualize 服务器托管的虚拟资产时从配置面板中选择该连接。例如,下图显示了如何为使用 MQ 的代理选择全局连接:

添加 JMS 连接

点击 JMS 连接设置部分的添加,指定 JMS 配置。有关配置 JMS 连接设置的详细信息,请参阅 JMS 提供者配置

配置完成后点击测试连接,验证服务器上的代理和虚拟资产能否与该 JMS 提供者通信。在此界面中配置的设置同样也用于虚拟资产或代理配置面板。

使用 JMS 连接设置

添加连接后,您就可以在添加和配置代理以及 Virtualize 服务器托管的虚拟资产时从配置面板中选择该连接。 

例如,下图显示了如何为使用 JMS 的虚拟资产选择全局连接:

使用 Virtualize HTTP 服务器的替代端口

默认情况下,本地 Virtualize 服务器使用 9080 端口。更改端口操作:

  1. 前往 Parasoft > 首选项
  2. 打开 Parasoft> 服务器
  3. 更改端口设置。
  4. 重启服务器。

  • No labels