第十六章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 将 NSD 与 Nginx 结合使用

NSDNginx 结合使用

必须配置 Web 服务器,以便它识别对 InterSystems 文件类型的请求,并将这些请求(以及对 InterSystems IRIS 应用程序服务的任何其他静态文件的请求)传递到 NSD 进行处理。

为此,请编辑 Web 服务器配置文件 (nginx.conf),该文件位于 C:\nginx\conf

本节介绍 CSP 扩展模块提供的用于配置 Web 服务器的服务器配置指令。在位置块的上下文中发出任何这些指令都会将该指令应用于指定路径上的流量。

CSPNSD_pass hostname:portNum;

(必需。)指定 NSD 正在侦听的地址(主机名和端口)。

如果没有为特定路径指定 NSD 地址,则 NSD 默认侦听地址 127.0.0.1:7038

CSP on; and CSP off;

启用或禁用所有请求通过 Web 网关路由到 CSP 服务器。

如果不发出适用于特定路径的 CSP 指令,则发送到该路径的任何请求都不会通过 CSP 进行路由,并且 Web 服务器不会通过 Web 网关路由发送到该路径的任何请求。

CSPFileTypes filetype1[ filetype2...];

允许通过 Web 网关将特定文件类型(文件类型 1、文件类型 2 等)的请求路由到 CSP 服务器。

例如,如果希望 Web Gateway 在(且仅当)请求 .csp.cls 文件时将发送到 /demo/app 路径的请求路由,请发出以下指令块:

location /demo/app {
  CSPFileTypes csp cls;
}

发出指令 CSPFileTypes * 可以路由所有文件类型的请求。其效果与CSP on 相同。

CSPNSD_response_headers_maxsize size;

指定 HTTP 响应标头的最大大小。如果响应标头超过此大小,Web 客户端会收到错误。

默认情况下,CSP 扩展模块应用指令 CSPNSD_response_headers_maxsize 8k

CSPNSD_connect_timeout time;

指定从 Web 客户端收到请求时连接到 NSD 的超时时间。

默认情况下,CSP 扩展模块应用指令 CSPNSD_connect_timeout 300 秒。

CSPNSD_send_timeout time;

指定单个发送操作请求(例如 POSTPUT)的超时时间。超时仅适用于连续的发送操作之间;一旦开始,它不适用于单个传输的完成。

默认情况下,CSP 扩展模块应用指令 CSP_send_timeout 300 秒。

CSPNSD_read_timeout time;

指定传送响应时单个读取操作(例如 GET`)的超时时间。超时仅适用于连续的读取操作之间;一旦传输开始,它就不适用于传输的完成。

默认情况下,CSP 扩展模块应用指令 CSP_read_timeout 300 秒。

示例:为特定路径上的所有流量启用 CSP 路由

将以下部分放置在相应的服务器配置块中,以将发送到 /csp 路径的所有流量路由到 Web 网关:

location /csp {
CSP On;
CSPNSD_pass localhost:7038;
}

示例:将 IRIS 文件类型的请求路由到 Web 网关

将以下部分放在相应的服务器配置块中,以便为发送到 IRIS 文件类型(.csp.cls.zen.cxw)的 /csp 路径的请求启用 CSP 路由:

location /csp {
CSPFileTypes  csp cls zen cxw;
CSPNSD_pass localhost:7038;
}

启动和停止 NginxNSD

启动 Nginx:

C:\nginx\nginx

要停止 Nginx:

C:\nginx\nginx –s stop
03-09 14:01