
Nginx系列
文章平均质量分 90
Ewen Seong
trouble and chance comes together
展开
-
Nginx系列-12 Nginx使用Lua脚本进行JWT校验
本文介绍Nginx中Lua模块使用方式,并结合案例进行介绍。案例介绍通过lua脚本提取HTTP请求头中的token字段,经过JWT校验并提取id和name信息,设置到http请求头中发向后段服务器。默认情况下,Nginx自身不携带lua模块,即不支持通过lua脚本进行功能扩展。需要在编译Nginx时手动引入lua模块,或者直接使用openresty,本文结合后者进行介绍。原创 2024-07-28 16:48:46 · 1360 阅读 · 0 评论 -
Nginx系列-9 Nginx配置HTTPS
消息在公网上传输需要进行加密,以保证信息的安全性。加密有对称加密和非对称加密两种;对称加密使用同一个秘钥进行加密和解密;非对称加密使用一对秘钥进行加解密。对称加密相对于非对称加密速度快、效率高。在HTTPS握手过程,服务端会将证书(公钥和CA信息)发送给客户端;客户端使用CA信息验证证书的合法性,然后随机生成一个秘钥,并使用证书中携带的公钥对该生成的秘钥加密,然后发送给服务端;服务端使用私钥进行解密,得到秘钥;之后,双方使用这个对称加密的秘钥进行信息的加解密。因此,需要服务端需要准备证书和私钥。原创 2024-07-25 20:53:59 · 947 阅读 · 0 评论 -
Nginx系列-11 HTTP消息处理流程
了解Nginx处理HTTP请求的11个阶段,有助于理解和配置nginx、自定义模块、基于lua模块自定义功能。按如下配置,执行"curl http://localhost:8001/query/test.html",如果读者对结果不是很确定,建议阅读本文。原创 2024-07-28 10:04:46 · 924 阅读 · 0 评论 -
Nginx系列-10 realIp模块使用
当请求被代理后,真实客户端相对服务器被隐藏,即服务端无法判断HTTP消息来源。可通过将客户端的IP添加入HTTP消息解决上述问题,可在消息头中添加字段。原创 2024-07-26 23:04:12 · 1465 阅读 · 0 评论 -
Nginx系列-8 常见指令收集
一般,可以将allow/deny配置在http块、server块、location块中。请求会按照优先级顺序自上而下进行匹配,匹配一个就中断。server {#第1条#第2条#第3条deny all;#第4条#第5条allow all;#第6条# ...当192.168.0.1访问时,匹配第1条,允许访问,即192.168.0.1可穿过access阶段;当192.168.0.2访问时,匹配第2条,被拦截,返回403;原创 2024-07-24 21:19:00 · 1379 阅读 · 0 评论 -
Nginx系列-2 Nginx配置文件介绍
本文用于介绍Nginx配置文件的内容,先从整体结构上进行介绍,再分功能对常见配置指令进行说明,最后对location和server块的配置进行介绍。由于Nginx配置文件内容较多,因此将较为复杂的配置指令单独抽出专题进行介绍,如rewrite、upstream、proxy_pass、root和alias等指令,包括以下文章:Nginx系列-3 servername优先级和location优先级和常用正则表达式Nginx系列-4 proxy_pass使用和路径拼接问题。原创 2024-07-23 21:55:22 · 1084 阅读 · 0 评论 -
Nginx系列-7 upstream与负载均衡
upstream允许将一组服务器定义为一个服务器组,之后可基于这个组进行请求的分发,从而实现负载均衡、故障转移等功能。每个服务器可以使用ip:端口形式或者域名:端口形式;端口省略时,http使用80端口,https使用443端口。后续可直接使用服务器名,将其作为服务器使用原创 2024-07-21 08:40:35 · 5158 阅读 · 1 评论 -
Nginx系列-6 rewrite使用介绍
rewrite指令可以定义在server块和location块中,用于URL重写。说明:rewrite重写url,一般不重写域名和端口,即正则表达式和修改后的路径只针对url部分;如果重写了域名和端口,就被认为是重定向,返回302重定向到重写路径。regex为正则表达式部分,用于匹配需要重写的url;replacement为替换内容,将匹配正则表达式的url替换为replacement;本条规则匹配完成后,继续向下匹配新的location规则;本条规则匹配完成即终止,不再匹配后面的任何规则;原创 2024-07-21 08:26:02 · 4522 阅读 · 0 评论 -
Nginx系列-5 root和alias和index和try_files
root和alias用于指定文件系统的路径。root一般定义在server块中,为每个server指定文件系统路径;alias只能定义在location块中,为具体的url指定文件系统。二者的差别还体现在:[1] root只能指定目录,而alias可以指定目录也可以指定文件;[2] root和alias的路径拼接方式不同。本章节在介绍root和alias的使用过程中,会围绕差异点进行细致描述。如果对这两点比较熟悉,请直接跳过本章内容。原创 2024-07-21 08:25:01 · 5938 阅读 · 0 评论 -
Nginx系列-4 proxy_pass使用和路径拼接问题
proxy_pass指令用于请求的转发,请客户端请求转发至第三方服务器原创 2024-07-20 22:57:37 · 5637 阅读 · 0 评论 -
Nginx系列-3 servername优先级和location优先级和常用正则表达式
servername配置在server块中。当客户端向Nginx服务器发送请求时,Nginx会根据请求的Host头字段与server_name进行匹配,以确定将请求转发到哪个server块进行处理。原创 2024-07-20 19:10:45 · 5071 阅读 · 1 评论 -
Nginx系列-1 Nginx安装与使用
本文介绍nginx安装过程和简单使用,以及如何将Nginx委托给systemd管理。原创 2024-06-30 12:27:22 · 5266 阅读 · 1 评论