NGINX
文章平均质量分 93
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
小白--AI
这个作者很懒,什么都没留下…
展开
-
【NGINX--13】实用运维提示和结论
可以创建模块化配置文件,然后将这些文件添加到配置中的多个位置,无需复制配置。如果在单个 NGINX 上管理多台 FastCGI 虚拟服务器,则可以将此配置文件添加到需要这些 FastCGI 参数的任何位置或上下文中,而无需复制此配置。如果正在运行需要类似 SSL 配置的多台服务器,只需编写此配置一次,然后将其添加到所需位置即可。只需编辑单个文件即可更改一组配置文件,无需在大型配置文件中的多个位置更改多组配置块。调试日志虽繁杂冗长,但可清晰地显示 NGINX 正如何处理请求,以及配置中存在问题的地方。原创 2023-12-06 03:00:00 · 1622 阅读 · 0 评论 -
【NGINX--12】性能调优
如果前端应用不断轮询后端应用以进行更新,那么这些连接优化可能会很有帮助,因为允许更多请求和保持更长时间的连接可减少需要建立的连接数量。需要保持上游服务器长连接,以缩短建立连接所需的时间,并允许 worker 进程直接将请求分发到空闲连接上进行处理。需要注意的是,长连接的数量可以超过 keepalive 指令中指定的连接数量,因为长连接和空闲连接并不等同。使用 keepalive_requests 和 keepalive_timeout 指令,更改可在单个连接上发起的请求数以及空闲连接可保持打开状态的时长。原创 2023-12-05 03:00:00 · 877 阅读 · 0 评论 -
【NGINX--11】利用访问日志、错误日志和 请求跟踪进行调试和故障排除
在实际运用中,为不同上下文配置不同的日志格式非常有用,您可以在日志中使用不同的模块和内置变量,或者集中提供所有必要信息。对于 json 转义,JSON 字符串中所有不允许的字符都将被转义,如:字符 " 和 \ 用 " 和 \ 来表示,值小于 32 的字符用 \n、\r、\t、\b、\f 或 \u00XX 来表示。使用动态加载的模块(包括 NGINX Plus 安装)时,可通过添加下述 load_module 指令,向 NGINX 告知该模块在文件系统上的位置,来确保将其加载到 NGINX 配置中。原创 2023-12-04 03:00:00 · 1374 阅读 · 0 评论 -
【NGINX--10】高可用性部署模式
在我们的示例中,主节点向名为 node2.example.com、node3.example.com 和 node4.example.com 的对等节点推送主要 NGINX 配置文件的配置更改并添加目录 /etc/nginx/nginx.conf 和 /etc/nginx/conf.d。配置同步的自动化可降低在配置同步过程中发生错误的风险。为避免将不良配置发送给对等节点,nginx-sync.sh 应用提供了多项保障措施,包括测试主节点的配置,在对等节点上创建配置备份,以及在重载之前验证对等节点的配置。原创 2023-12-01 03:00:00 · 924 阅读 · 0 评论 -
【NGINX--9】复杂的媒体串流
NGINX Plus 的比特率限制能够让流媒体服务器根据传输的媒体动态限制带宽,客户端可以下载尽可能多的内容,从而确保无缝的用户体验。MP4 速率限制方面的另一个指令是 mp4_limit_rate,该指令指定了允许客户端下载的比特率(相对于媒体的比特率)。赋予 mp4_limit_rate 指令的值 1 指定 NGINX 将带宽限制为媒体的比特率(1 比 1)。如果为 mp4_limit_rate 指令提供的值超过 1,用户将能够以超过观看的速度下载,进而缓冲媒体,并在下载时无缝观看媒体内容。原创 2023-11-30 03:00:00 · 1605 阅读 · 0 评论 -
【NGINX--8】HTTP/2
然而,尽管该协议不需要将连接封装在 SSL/TLS 中,但 HTTP/2 客户端的某些实现仅支持加密连接上的HTTP/2。要使用 HTTP/2 服务器推送功能,您必须像在实操指南 8.1 中所做的那样,将服务器配置为使用 HTTP/2。在这个配置中,NGINX 侦听端口 80 上未加密的 HTTP/2 流量,并将这些流量代理到端口 50051 上名为 backend.local 的机器。该配置在 NGINX 上终止了 TLS,并通过未加密的 HTTP/2 将 gRPC 通信传递到应用。原创 2023-11-29 03:00:00 · 1222 阅读 · 0 评论 -
【NGINX--5】身份验证
NGINX Plus 的 HTTP JWT 身份验证模块支持验证符合 RFC JSON Web Signature 规范的 JWT,允许任何使用 JWT 的 SSO 授权立即在 NGINX Plus 层中进行验证。auth_jwt 指令还可用于从继承的配置中消除所需的 JWT 身份验证的影响。在上面的示例中,子请求的位置被锁定,以确保仅响应内部的 NGINX Plus 请求。如果您的身份验证服务未请求请求正文,则可以使用 proxy_pass_request_body 指令删除请求正文,如上所示。原创 2023-11-24 03:00:00 · 2258 阅读 · 0 评论 -
【NGINX--7】安全控制--2
该策略文件通过使用模板来配置默认的 NGINX App Protect WAF 策略,将策略名称设置为 transparent_policy,将 enforcementMode 设置为 transparent,这表示 NGINX Plus 将记录日志但不会拦截日志。在适当的情况下始终重定向到 HTTPS,这是非常重要的。该文件由 app_protect_security_log 指令在 NGINX Plus 配置中定义,并且是 NGINX App Protect WAF 日志的必要文件。原创 2023-11-28 03:00:00 · 813 阅读 · 0 评论 -
【NGINX--6】安全控制--1
NGINX 能够让您的服务保护您和客户端之间的信息,进而保护客户端和您的业务。给定的 location 代码块允许来自 10.0.0.0/20 中的任何 IPv4 地址访问(10.0.0.1 除外),允许来自 2001:0db8::/32 子网中的 IPv6 地址访问,并在收到来自其他任何地址的请求后返回 403。在上面的高级配置示例中,NGINX 为客户端提供了备受推重的密码算法 —— TLS 版本1.2 或 1.3 的 SSL/TLS 选项,以及使用 RSA 或椭圆曲线密码(ECC)格式密钥的能力。原创 2023-11-27 03:00:00 · 2000 阅读 · 1 评论 -
【NGINX--4】大规模可扩展的内容缓存
NGINX Plus 的处理方法很简单,只要将 proxy_cache_purge 指令的值设置为非零或非空,与请求匹配的缓存项就被会清除掉。根据 proxy_cache_lock_age 指令的定义,代理请求填充缓存的时间是有限制的,默认为 5 秒,此后才允许另一个请求填充元素。您可以将 proxy_cache_lock_age 理解成“你花的时间太长了,我来为你填充缓存”,将 proxy_cache_lock_timeout 理解成“你让我等的时间太长了,你先慢慢填充,我去干点别的”。原创 2023-11-23 03:00:00 · 369 阅读 · 0 评论 -
【NGINX--3】流量管理
geoip_city 指令启用了与 geoip_country 指令相同的所有变量,只不过名称不一样,例如 $ geoip_city_country_code、$ geoip_city_country_code3 和 $ geoip_city_country_name。在推出新版本的代码时,在不同的应用版本之间分割客户端流量非常实用,这可以降低发生错误后带来的影响。在这种情况下,您可以将 limit_req_dry_run 指令设置为 on,然后使用访问日志中的变量 $ limit_req_status。原创 2023-11-22 03:00:00 · 357 阅读 · 0 评论 -
【NGINX--2】高性能负载均衡
有时,您可能希望利用更细粒度的控制,将流量定向到特定的服务器。本质上,sticky route 指令会在 NGINX Plus 共享内存区内创建一个会话,用于跟踪为上游服务器指定的任何客户端会话标识符,从而始终一致地将具有此会话标识符的请求传输到与原请求相同的上游服务器。此示例尝试提取 Java 会话 ID,首先通过将 Java 会话 ID cookie 映射到第一个 map 代码块的变量来提取,然后查找请求 URI 中名为 jsessionid 的参数,将值映射到使用第二个 map 代码块的变量。原创 2023-11-21 03:00:00 · 729 阅读 · 0 评论 -
【NGINX--1】基础知识
如果配置没有将此上下文定义为 default_server,那么只有当 HTTP 主机请求头与提供给 server_name 指令的值相匹配时,NGINX 才会将请求定向到这台服务器。最后,index 指令为 NGINX 提供了一个默认文件或要检查的文件列表,以防 URI 中没有提供进一步的路径。这些说明因您的操作系统和版本而略有不同,但都有一个共同点:您必须从 NGINX 门户获取证书和密钥并提供给您的系统,以便对 NGINX Plus 仓库进行身份验证。发送请求时,请使用机器的 IP 地址或主机名。原创 2023-11-20 03:00:00 · 566 阅读 · 0 评论