安装和升级 > 高级部署注意事项 > 网络配置 > 防火墙
  
防火墙
防火墙是保护任何网络的不可或缺的一部分,尤其是那些与外部网络连接的部分。防火墙可在 Windchill 系统中的多个位置进行部署。防火墙最常见的部署位置是在客户端层和 Web 服务器层之间。
客户端层
大多数客户端应用程序使用 HTTP 或 HTTPS 连接访问 Windchill,因此 HTTP 或 HTTPS 连接必须可用。HTTP 和 HTTPS 的默认端口分别为 80 和 443。
某些 Java 客户端可以使用 Java 的远程方法调用 (RMI) 直接访问 Windchill。默认情况下,这些客户端可使用在以下 wt.properties 中指定的 RMI 端口尝试直接连接到服务器:
wt.manager.port
wt.method.minPort through wt.method.maxPort
* 
出于安全性方面的考虑,不要在安全的网络边界之外公开 RMI 端口。RMI 端口应仅在已知主机与客户端之间公开。有关 RMI 端口的详细信息,请参阅配置属性
RMI 是在套接字上实现的、以 Java 为中心的远程过程调用 (RPC) 机制。RMI 存根对象在 RMI 客户程序和 RMI 服务器之间执行远程方法调用。这些存根对象包含主机名和端口号。当打开 TCP 和 IP 连接时,客户端将使用这些存根对象。Windchill 仅向客户程序显示两个 RMI 对象:服务器管理器对象和方法服务器对象。其他 RMI 对象使用服务器到服务器来协调缓存的信息,但客户端不需要这些 RMI 对象进行连接。
还可以强制通过 HTTP 或 HTTPS“隧道”进行 RMI 通信。通过 HTTP 隧道进行连接并不比直接进行 RMI 通信更安全。但是,隧道可通过加密 HTTP 和 HTTPS 通信来利用反向代理。有关隧道 RMI 的详细信息,请参阅 Windchill 运行时环境
Windchill 服务器主机由 java.rmi.server.hostname 特性控制,用于 URL 和 RMI 存根,并且必须解析为防火墙内部和外部客户端的 IP 地址。如果防火墙正在执行网络地址转换,或者已配置成代理 Windchill 连接,则 Windchill 为其客户端提供的主机名必须有效才能连接到服务器。
许多现有 Windchill 应用程序都使用 Java RMI 来调用服务器事务处理。从这种形式的通信到 HTTP 和 XML 有一个较长的转变过程。但是现在,Windchill 开发环境将继续支持生成某些类的代码,这些类使用 RMI 调用远程服务方法。
Web 层
对于使用与 Windchill 应用程序服务器分开的 Web 服务器层配置的系统而言,Web 层的使用越来越普遍。servlet 引擎仍配置为在与 Windchill 相同的服务器上运行。Windchill 安装文件包括 HTTP Server Web 服务器 (基于 Apache) 和 Embedded Servlet Engine (基于 Apache Tomcat)。有关配置 Windchill 以与远程 Apache Web 服务器协同工作的详细信息,请参阅配置 Apache 和 Tomcat 其他选项
在某些情况下,在 Web 服务器层和 Windchill 应用程序服务器之间配置防火墙可能是理想的选择。如果是这种情况,则 Web 服务器必须能够与以下组件进行通信:
LDAP 服务器 - 默认端口 389
Servlet 引擎 - 默认端口 8010-8018
在默认 HTTP ServerEmbedded Servlet Engine 配置中,这些端口由 ajp13 协议使用。提供单一端口 (运行一台 Windchill 方法服务器,对应一个端口) 以及端口范围。端口范围允许在配置其他方法服务器时对其进行处理,并基于以下逻辑进行计算:
wt.servlet.ajp.minPort 特性用于配置所用的最小端口号。默认值为 8010。
可用的最小端口数为 9 (这是 wt.method.maxPort 和 wt.method.minPort 特性的差值) + 1 (用于附加的备用方法服务器)。
端口范围用于在 <httpserver_home>/conf/extra/workers.properties 文件中分配 AJP 工作器。HTTP Server 通过这些端口与 Embedded Servlet Engine 进行通信。
数据库
防火墙的另一个公用位置位于数据库服务器与应用程序服务器之间。有关必须允许的相应端口和协议的详细信息,请参阅数据库软件相关文档。