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-->
      Copy to Clipboard Toggle word wrap

      保存并退出文件。

  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"
    Copy to Clipboard Toggle word wrap

    以上配置适用于 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>
    Copy to Clipboard Toggle word wrap
  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>
    Copy to Clipboard Toggle word wrap

    上例将请求重定向到名为 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
    Copy to Clipboard Toggle word wrap

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

    保存并退出文件。

  4. 重启 iPlanet Web 服务器

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

    IPLANET_CONFIG/../bin/stopserv
    IPLANET_CONFIG/../bin/startserv
    Copy to Clipboard Toggle word wrap

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>
    Copy to Clipboard Toggle word wrap
  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>
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

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

    保存并退出文件。

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

    IPLANET_CONFIG/../bin/stopserv
    IPLANET_CONFIG/../bin/startserv
    Copy to Clipboard Toggle word wrap

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部