22.10. Oracle NSAPI connector


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

注意

有关 Oracle iPlanet Web Server 支持的配置的信息,请参阅 JBoss EAP 支持的配置。

先决条件

  • JBoss EAP 在作为 worker 的每个服务器上安装和配置。

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

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

设置 NSAPI Connector:

注意

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

  1. 禁用 servlet 映射。

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

    • default
    • invoker
    • 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 文件的末尾,修改文件路径以适合您的配置。这些行定义 nsapi_redirector.so 模块的位置,以及 worker.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 位构架。

    保存并退出 文件。

  3. 配置 NSAPI 连接器。

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

此任务配置 NSAPI 连接器,将客户端请求重定向到没有负载均衡或故障转移的 JBoss EAP 服务器。重定向是在每个部署中完成的,因此基于每个 URL。

重要

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

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

    注意

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

    编辑 IPLANET_CONFIG/obj.conf 文件。找到以 < Object name="default"& gt; 开头的部分,并添加要匹配的每个 URL 模式,格式为以下示例文件。字符串 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 文件。在您刚才编辑的部分的关闭标签后直接添加以下内容:</ Object&gt;。

    <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

    上面的示例将请求重定向到 URL 路径 /status 到名为 worker01 的 worker,并将 /nc/ 下的所有 URL 路径重定向到名为 worker02 的 worker。第三行表示分配给 jknsapi 对象的所有 URL 均与上一行不匹配的所有 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 连接器

为负载均衡配置 Connector
  1. 定义重定向到 JBoss EAP 服务器的 URL 路径。

    注意

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

    编辑 IPLANET_CONFIG/obj.conf 文件。找到以 < Object name="default"& gt; 开头的部分,并添加要匹配的每个 URL 模式,格式为以下示例文件。字符串 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

    jksnapi 对象定义了用于服务 默认 对象中 name="jksnapi" 映射的每个路径的 worker 节点。与 /jkmanager wasm 匹配的 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 Server 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

© 2025 Red Hat