24.10. Oracle NSAPI 连接器


Netscape Server API(NSAPI)是由 Oracle iPlanet Web 服务器(以前称为 Netscape Web Server)提供的 API,用于实施服务器的扩展。这些扩展称为服务器插件。NSAPI 连接器使用 in nsapi_redirector.so,它是 mod_jk 的扩展,调整为 Oracle iPlanet Web 服务器。NSAPI 连接器使您能够将 JBoss EAP 实例配置为 worker 节点,并将 Oracle iPlanet Web 服务器配置为负载平衡器。

注意

有关 Solaris 和 Oracle iPlanet Web 服务器支持的配置 的信息,请参阅 JBoss EAP 支持的配置。

先决条件

  • JBoss EAP 在每台服务器上安装和配置,这些服务器上将充当工作程序。

从红帽客户门户网站下载 NSAPI 连接器:

  1. 打开浏览器并登录红帽客户门户 JBoss 软件下载页面
  2. Product 下拉菜单中选择 Web Connectors
  3. Version 下拉菜单中选择最新的 JBoss Core Services 版本。
  4. 在列表中找到 Red Hat JBoss Core Services NSAPI Connector,确保您为您的系统选择正确的平台和架构,然后单击 Download 链接。
  5. 将位于 lib/ 或 lib 64/ 目录中的 then sapi_redirector.so 文件提取到 IPLANET_CONFIG/lib/IPLANET_CONFIG/lib64/ 目录中。

设置 NSAPI 连接器:

注意

在这些说明中,IPLANET_CONFIG 是指 Oracle iPlanet 配置目录,通常是 /opt/oracle/webserver7/config/。如果您的 Oracle iPlanet 配置目录不同,请相应地修改说明。

  1. 禁用 servlet 映射。

    打开 IPLANET_CONFIG/default.web.xml 文件,找到标题 Built In Server Mappings 部分。通过用 XML 注释字符(<!---->)来禁用以下三个servlet 的映射。

    • default
    • invocationr
    • jsp

      以下示例配置显示了禁用的映射。

      <!-- ============== Built In Servlet Mappings =============== -->
      <!-- The servlet mappings for the built in servlets defined above. -->
      <!-- The mapping for the default servlet -->
      <!--servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/</url-pattern>
      </servlet-mapping-->
      <!-- The mapping for the invoker servlet -->
      <!--servlet-mapping>
       <servlet-name>invoker</servlet-name>
       <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping-->
      <!-- The mapping for the Jakarta Server Pages servlet -->
      <!--servlet-mapping>
       <servlet-name>jsp</servlet-name>
       <url-pattern>*.jsp</url-pattern>
      </servlet-mapping-->

      保存并退出文件。

  2. 配置 iPlanet Web 服务器以加载 NSAPI 连接器模块。

    将以下行添加到 IPLANET_CONFIG/magnus.conf 文件的末尾,修改文件路径以适应您的配置。这些行定义 then sapi_redirector.so 模块的位置,以及 workers.properties 文件,其中列出了 worker 及其属性。

    Init fn="load-modules" funcs="jk_init,jk_service" shlib="/lib/nsapi_redirector.so" shlib_flags="(global|now)"
    
    Init fn="jk_init" worker_file="IPLANET_CONFIG/connectors/workers.properties" log_level="info" log_file="IPLANET_CONFIG/connectors/nsapi.log" shm_file="IPLANET_CONFIG/connectors/tmp/jk_shm"

    以上配置适用于 32 位架构。如果使用 64 位 Solaris,请将字符串 lib/nsapi_redirector.so 更改为 lib64/nsapi_redirector.so

    保存并退出文件。

  3. 配置 NSAPI 连接器。

    您可以为基本配置配置 NSAPI 连接器,且无负载平衡或负载平衡配置。选择以下选项之一,之后您的配置将完成。

此任务配置 NSAPI 连接器,以将客户端请求重定向到 JBoss EAP 服务器,而无需负载平衡或故障转移。重定向以每个部署为基础,因此按 URL 进行。

重要

在继续此任务前 ,您必须已配置了 NSAPI 连接器

设置基本 HTTP 连接器
  1. 定义重定向到 JBoss EAP 服务器的 URL 路径。

    注意

    IPLANET_CONFIG/obj.conf 中,行首不允许有空格,除非该行是上一行的延续。

    编辑 IPLANET_CONFIG/obj.conf 文件。找到以 <Object name="default"> 开头的部分,并添加要匹配的每个 URL 模式,其格式为以下示例文件所示。string jknsapi 指的是 HTTP 连接器,将在下一步中定义。示例演示了使用通配符进行模式匹配。

    <Object name="default">
    [...]
    NameTrans fn="assign-name" from="/status" name="jknsapi"
    NameTrans fn="assign-name" from="/images(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/css(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/nc(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jmx-console(|/*)" name="jknsapi"
    </Object>
  2. 定义提供每个路径的 worker。

    继续编辑 IPLANET_CONFIG/obj.conf 文件。在刚刚完成编辑的部分的关闭标签后直接添加以下内容:& lt;/Object>

    <Object name="jknsapi">
    ObjectType fn=force-type type=text/plain
    Service fn="jk_service" worker="worker01" path="/status"
    Service fn="jk_service" worker="worker02" path="/nc(/*)"
    Service fn="jk_service" worker="worker01"
    </Object>

    上例将请求重定向到名为 worker 01 的 worker 路径 /status,并将 /nc/ 下的所有 URL 路径重定向到名为 worker 02 的 worker。第三行指出分配给 jknsapi 对象且前面行不匹配的所有 URL 都服务于 worker01

    保存并退出文件。

  3. 定义 worker 及其属性。

    IPLANET_CONFIG/connectors/ 目录中创建一个名为 workers.properties 的文件。将以下内容粘贴到 文件中,并进行修改以适合您的环境。

    # An entry that lists all the workers defined
    worker.list=worker01, worker02
    
    # Entries that define the host and port associated with these workers
    worker.worker01.host=127.0.0.1
    worker.worker01.port=8009
    worker.worker01.type=ajp13
    
    worker.worker02.host=127.0.0.100
    worker.worker02.port=8009
    worker.worker02.type=ajp13

    Worker .properties 文件的语法与 Apache mod_jk 相同。

    保存并退出文件。

  4. 重启 iPlanet Web 服务器

    发出以下命令以重新启动 iPlanet Web 服务器:

    IPLANET_CONFIG/../bin/stopserv
    IPLANET_CONFIG/../bin/startserv

iPlanet Web 服务器现在将客户端请求发送到您已配置在 JBoss EAP 上部署的 URL。

此任务配置 NSAPI 连接器,以将客户端请求发送到负载平衡配置中的 JBoss EAP 服务器。

重要

在继续此任务前 ,您必须已配置了 NSAPI 连接器

配置用于负载平衡的连接器
  1. 定义重定向到 JBoss EAP 服务器的 URL 路径。

    注意

    IPLANET_CONFIG/obj.conf 中,行首不允许有空格,除非该行是上一行的延续。

    编辑 IPLANET_CONFIG/obj.conf 文件。找到以 <Object name="default"> 开头的部分,并添加要匹配的每个 URL 模式,其格式为以下示例文件所示。string jknsapi 指的是要在下一步中定义的 HTTP 连接器。示例演示了使用通配符进行模式匹配。

    <Object name="default">
    [...]
    NameTrans fn="assign-name" from="/status" name="jknsapi"
    NameTrans fn="assign-name" from="/images(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/css(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/nc(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jmx-console(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jkmanager/*" name="jknsapi"
    </Object>
  2. 定义提供每个路径的 worker。

    继续编辑 IPLANET_CONFIG/obj.conf 文件。直接在上一步中修改的部分结束标签后 </Object>,添加以下新部分,并根据您的需要进行修改:

    <Object name="jknsapi">
    ObjectType fn=force-type type=text/plain
    Service fn="jk_service" worker="status" path="/jkmanager(/*)"
    Service fn="jk_service" worker="router"
    </Object>

    This jksnapi 对象定义 worker 节点,用于提供映射到 默认 对象中 name="jksnapi" 映射的每个路径。与 /jkmanager/* 匹配的 URL 之外的所有内容都重定向到名为 router 的 worker。

  3. 定义 worker 及其属性。

    IPLANET_CONFIG/connector/ 中创建一个名为 workers.properties 的文件。将以下内容粘贴到 文件中,并进行修改以适合您的环境。

    # The advanced router LB worker
    # A list of each worker
    worker.list=router,status
    
    # First JBoss EAP server
    # (worker node) definition.
    # Port 8009 is the standard port for AJP
    #
    
    worker.worker01.port=8009
    worker.worker01.host=127.0.0.1
    worker.worker01.type=ajp13
    worker.worker01.ping_mode=A
    worker.worker01.socket_timeout=10
    worker.worker01.lbfactor=3
    
    # Second JBoss EAP server
    worker.worker02.port=8009
    worker.worker02.host=127.0.0.100
    worker.worker02.type=ajp13
    worker.worker02.ping_mode=A
    worker.worker02.socket_timeout=10
    worker.worker02.lbfactor=1
    
    # Define the load-balancer called "router"
    worker.router.type=lb
    worker.router.balance_workers=worker01,worker02
    
    # Define the status worker
    worker.status.type=status

    Worker .properties 文件的语法与 Apache mod_jk 相同。

    保存并退出文件。

  4. 重新启动 iPlanet Web 服务器 7.0。

    IPLANET_CONFIG/../bin/stopserv
    IPLANET_CONFIG/../bin/startserv

iPlanet Web 服务器将在负载平衡配置中将您配置的 URL 模式重定向到 JBoss EAP 服务器。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部