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

在本章节中:

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

可以在 Preferences 面板中配置其他设置(例如,启动、身份验证和 CTP 通知选项),如 服务器设置中所述。

安全注意事项

您应该以安全的方式在受信任的网络上部署 Virtualize 服务器。Virtualize 服务器托管可用于管理虚拟资产的 web 服务,因此 具有网络访问 Virtualize 服务器的任何主机都可以添加、修改或删除该 Virtualize 服务器托管的虚拟资产。 您可以在 Virtualize 服务器前面使用代理服务器或网关来应用除 Virtualize 服务器提供的安全之外的其他安全层。

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

在不受信任的网络(例如 Internet)上部署 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 接受 certificate/private key 对,通常至少需要一个其公用名(CN)参数与服务器的全限定名匹配的自签名 certificate/private key 对。例如,如果您的 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>/eclipse/plugins/com.parasoft.xtest.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 属性设置为指向 certificate/private key 对的别名

keystoreType

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

clientAuth

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

  • 修改指向密匙库文件的 truststoreFile 。使用正斜杠 (/) 代替反斜杠 (\)。例如,C:/Users/myUser/keystore.jks
  • truststoreFile 属性修改为密钥库的密码
  • truststoreType 修改为 PKCS12、JKS、BKS、UBER 或 PEM—取决于正在使用的密匙库类型。

其他配置详情

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

可以为 SSL 配置多个端口号。如果需要虚拟化不同的 keystore/certificate 配置,通常就是这种情况。

默认的 SSL 连接器(具有属性名称=“default”的端口)应该在 Virtualize 服务器首选项中更改(关于更多详情,请参阅 服务器设置 )。Virtualize 启动时,首选项设置将优先于 server.xml 设置。

您可以根据需要在 server.xml 中添加具有不同名称和 SSL/certificate 配置的其他连接器元素。虚拟资产和代理不能映射到特定的连接器端口。在特定连接器/端口上接收到的消息可由任何虚拟资产根据虚拟资产路径、代理路径或响应程序相关规则中的标头、URL 和消息内容相关性标准(而不是基于端口)来处理。

URI 字符编码

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

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

将 relaxedPathChars 和 relaxedQueryChars Attributes添加到 server.xml 文件的 <Connector> 元素中, 并指定要允许的字符。如果有多个 <Connector> 元素,请将 属性添加值 protocol 设置为 HTTP 和 HTTPS的元素中。该文件位于 <INSTALL>/eclipse/plugins/com.parasoft.xtest.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 服务器视图中,双击 server 节点以打开配置面板。
     

在该面板中,您可以查看和修改与监视、服务器统计信息、全局 JMS 和 MQ 连接以及用户身份验证有关的设置(仅适用于远程服务器)。 

Monitoring Tab

此选项卡显示 Virtualize 服务器统计信息的摘要。关于更多详情,请查阅 收集服务器统计数据 。

Server Configuration Tab

单击服务器配置选项卡,以查看和配置事件监视和统计信息收集设置。有关此选项卡中设置的信息,请参见以下章节: 

Connections Tab

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

添加 MQ 队列管理器连接

单击 MQ 队列管理器中的 Add ,并指定以下配置。配置后单击 Test Connections 以验证服务器上的代理和虚拟资产将能够与队列管理器通信。此界面中配置的设置还可以在虚拟资产或代理配置面板中使用。 

模式

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

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


Host (默认模式)

指定 MQ 队列管理器主机。

Port (默认模式)

指定 MQ 队列管理器端口。

Channel (默认模式)

指定 MQ 队列管理器通道。

CCDT File (CCDT 模式)

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

Queue manager

指定队列管理器的名称。

Username

如果要求登录凭证,请在该字段指定用户名。

Password

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

SSL Properties

如果需要 Virtualize 服务器上托管的虚拟资产和消息代理来通过 SSL 与待测试服务进行通信,请启用 Use SSL when connecting to the service 选项并配置 SSL 设置。 

启用 Trust all server certificates 选项,以允许 Virtualize 服务器接受任何证书。当服务器上的虚拟资产或消息代理与服务建立连接并强制资产或代理使用存在的任何证书服务来接受连接时,此选项将禁用信任验证。通常,如果证书信任不是部署 Virtualize 的环境的重点,则应启用此选项。

CipherSuite (SSL)

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

Peer Name (SSL)

(可选)指定对等名称验证队列管理器提供的证书是否与对等名称参数指定的条件匹配。服务器验证将此参数与队列管理器提供的证书的 DN(可分辨名称)相匹配。 

Keystore Settings

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

Trust Store Settings

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

启用 Trust all server certificates 选项将禁用信任库配置设置。

如果使用密匙库或信任库,则需下载并安装无限强度的 Java 加密扩展。有关更多详情,请查阅 JCE 前提条件

复制 MQ 管理器连接

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

  1. 打开包含您要复制的连接配置的服务器设置。例如,如果希望将连接设置从远程服务器上复制到本地实例,请打开远程服务器的配置面板。
  2. 单击 Connections 选项卡,并选择要复制的连接配置。您可以通过按住 CTRL 或 COMMAND 键来复制单个连接或多个连接。
  3. 单击 Copy ,并从下拉菜单中为连接设置指定目标服务器。
  4. 单击 OK ,复制设置。如果设置已存在于目标服务器上,则不会复制设置。 

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

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

添加 JMS 连接

单击 JMS 连接设置中的 Add ,并指定 JMS:配置。关于配置 JMS 连接的详情,请查阅 JMS 提供程序配置

配置后单击 Test Connections 以验证服务器上的代理和虚拟资产将能够与 JMS 提供程序通信。此界面中配置的设置还可以在虚拟资产或代理配置面板中使用。

使用 JMS 连接设置

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

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

使用 Virtualize HTTP 服务器的备用端口

默认情况下,本地 Virtualize 服务器使用端口 9080。要修改这一点,请执行以下操作:

  1. 选择 Parasoft> Preferences
  2. 打开 Parasoft> Server
  3. 修改端口设置。
  4. 重启服务。

  • No labels