第二十一章 构建和配置 Nginx (UNIX® Linux macOS) - 为CSP构建Nginx的过程

文章目录

  • [第二十一章 构建和配置 Nginx (UNIX® Linux macOS) - 为CSP构建Nginx的过程](#第二十一章 构建和配置 Nginx (UNIX® Linux macOS) - 为CSP构建Nginx的过程)
  • 为`CSP`构建`Nginx`的过程
  • [将 NSD 与 Nginx 结合使用](#将 NSD 与 Nginx 结合使用)
        • [`CSPNSD_pass hostname:portNum`;](#CSPNSD_pass hostname:portNum;)
        • [`CSP on; and CSP off;`](#CSP on; and CSP off;)
        • [`CSPFileTypes filetype1[ filetype2...];`](#CSPFileTypes filetype1[ filetype2...];)
        • [`CSPNSD_response_headers_maxsize size;`](#CSPNSD_response_headers_maxsize size;)
        • [`CSPNSD_connect_timeout time;`](#CSPNSD_connect_timeout time;)
        • [`CSPNSD_send_timeout time`](#CSPNSD_send_timeout time)
        • [`CSPNSD_read_timeout time`;](#CSPNSD_read_timeout time;)

第二十一章 构建和配置 Nginx (UNIX® Linux macOS) - 为CSP构建Nginx的过程

CSP构建Nginx的过程

  1. 在选择的位置下解压缩源代码发行版。例如:
java 复制代码
/opt/

解包后,如果指定/opt/,则源代码分布在:

java 复制代码
/opt/nginx-n.n.n/
  1. CSP扩展创建一个目录:
java 复制代码
/opt/nginx-n.n.n/csp/
  1. 将模块源代码(ngx_http_csp_module.c)复制到上面创建的目录中。
  2. 在同一个目录中,创建一个名为config的配置文件。这个文件应该包含以下几行:
java 复制代码
ngx_addon_name=ngx_http_csp_module
HTTP_MODULES="$HTTP_MODULES ngx_http_csp_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_csp_module.c"
CORE_LIBS="$CORE_LIBS -ldl"
  1. 工作在/opt/nginx-n.n下。n/,配置Nginx构建环境:
java 复制代码
./configure --prefix=/opt/nginx
            --with-http_ssl_module
            --add-module=/opt/nginx-n.n.n/csp

或者,没有OpenSSL, ZLIBPCRE提供的可选功能:

java 复制代码
 ./configure --prefix=/opt/nginx
             --without-http_rewrite_module
             --without-http_gzip_module
             --add-module=/opt/nginx-n.n.n/csp

注意最后一行包含包含CSP模块的指令。

  1. 编译Nginx
java 复制代码
make
  1. 安装 Nginx
java 复制代码
make install

如果成功,应该在以下位置找到完整的服务器安装:

java 复制代码
/opt/nginx/

将 NSD 与 Nginx 结合使用

必须配置 Web 服务器,以便它识别对文件类型的请求(以及应用程序必须服务的任何其他请求),然后将这些请求传递到 NSD

为此,请编辑位于 /opt/nginx/conf 中的 Web 服务器配置文件 (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 路径的请求路由,请发出以下指令块:

java 复制代码
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

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

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

CSPNSD_read_timeout time;

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

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

相关推荐
PyAIGCMaster31 分钟前
ubuntu装P104驱动
linux·运维·ubuntu
奈何不吃鱼31 分钟前
【Linux】ubuntu依赖安装的各种问题汇总
linux·运维·服务器
icy、泡芙33 分钟前
T527-----音频调试
linux·驱动开发·音视频
aherhuo36 分钟前
kubevirt网络
linux·云原生·容器·kubernetes
zzzhpzhpzzz1 小时前
Ubuntu如何查看硬件型号
linux·运维·ubuntu
蜜獾云1 小时前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
o(╥﹏╥)1 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
娶不到胡一菲的汪大东1 小时前
Ubuntu概述
linux·运维·ubuntu
Yuan_o_2 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
那就举个栗子!2 小时前
Ubuntu 20.04下Kinect2驱动环境配置与测试【稳定无坑版】
linux·ubuntu