![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nginx
文章平均质量分 91
Nginx相关文章
tinychen777
这个作者很懒,什么都没留下…
展开
-
使用nginx-quic支持HTTP/3
本文主要介绍使用nginx-quic和boringssl项目来对服务器进行升级支持HTTP/3协议。1、背景介绍nginx官方从1.19版本开始,新建立了一个分支,专门用来对QUIC进行支持,官网的链接点这里。注意该项目还处于早期的alpha版本,非常不建议用于生产环境。The code is at an early alpha level of quality and should not be used in production.nginx-quic的安装包可以在下面这里找到,由于还处于原创 2022-03-01 20:44:35 · 4141 阅读 · 1 评论 -
nginx篇12-限速三剑客之limit_rate
本文主要是对nginx官方limit_rate相关指令的用法解释和一些个人理解,limit_rate主要用于限制用户和服务器之间传输的字节数,最常用的场景可能就是下载/上传限速,在如今用户网速普遍大幅提升的情况下,对于一些文件传输、视频流媒体传输等服务还是有着一定的应用场景的。和我们前面提过的limit_req模块和limit_conn模块不一样的是,limit_rate并没有单独的一个模块,而是在ngx_http_core_module中,同时它的相关指令也比较少,只有limit_rate和limit原创 2022-03-01 20:44:20 · 2795 阅读 · 0 评论 -
nginx篇11-限速三剑客之limit_conn
本文主要是对nginx官方limit_conn相关模块的配置用法和一些个人理解,limit_conn主要用于限制用户的连接数,在如今多线程并发请求大量普及的情况下,对于一些特殊的场景还是有着一定的用处的。1、背景目前来说在nginx上面我们常见的三种限速操作分别是:限制请求数(request)、限制连接数(connection)、限制响应速度(rate),对应在nginx的模块相关指令分别是limit_req、limit_conn和limit_rate三个系列。limit_conn模块和limit_r原创 2022-03-01 20:44:05 · 3521 阅读 · 0 评论 -
nginx篇10-限速三剑客之limit_req
本文主要是对nginx官方limit_req相关模块的限速原理的解释和一些个人理解,主要参考的文章为Rate Limiting with NGINX and NGINX Plus和nginx的ngx_http_limit_req_module的详细说明。目前来说在nginx上面我们常见的三种限速操作分别是:限制请求数(request)、限制连接数(connection)、限制响应速度(rate),对应在nginx的模块相关指令分别是limit_req、limit_conn和limit_rate三个系列。原创 2022-03-01 20:43:50 · 5812 阅读 · 1 评论 -
nginx篇09-location中的if指令是魔鬼吧
本文主要是对nginx官方的文章If is Evil... when used in location context的翻译和理解。1、简介在location块中的if指令的有点问题,在某些情况下,if指令并不会按照我们预期的那般工作,而是有可能往完全不同的方向发展甚至可能会引起错误。因此最好的方法就是尽可能的不要使用if指令。在location块的if指令内100%安全的指令有:returnrewrite …… last除了上面的两个指令之外的任何操作都有可能导致不可预测的效果甚至可能是原创 2022-03-01 20:43:40 · 2682 阅读 · 0 评论 -
nginx篇08-添加客户端证书认证
本文主要介绍如何使用给nginx服务添加客户端证书认证从而实现双向加密。对于一般的https网站来说,实际上https所使用的证书是属于单向验证,即客户端单向验证服务器的安全性,而服务器端是没有对客户端的身份进行验证的。关于https的原理,可以查看这篇文章:《SSL/TLS、对称加密和非对称加密和TLSv1.3》如果自己部署了一些安全性较高的网站不希望被其他人随意访问,就可以尝试部署https的双向认证,对客户端也添加证书认证。本文将会使用openssl自签证书来完成最简单的一个https双向认证。原创 2022-03-01 20:43:29 · 3215 阅读 · 1 评论 -
nginx篇07-启用HTTP2和TLSv1.3
本文主要介绍如何使用编译的方式升级openssl库和nginx用于支持HTTP2和TLSv1.3并且介绍了一些简单的提高nginx安全性的配置。1、编译安装openssl考虑到Linux系统中有许多组件都需要使用openssl库,而现在默认使用的openssl库绝大多数都没到达能够支持TLS1.3的openssl1.1.1版本以上,因此个人建议不要直接修改系统已有的默认openssl库而是另外使用一个新目录来编译安装新版本的openssl。具体的支持信息可以查看openssl官网的TLSv1.3部分原创 2022-02-28 19:34:44 · 2280 阅读 · 0 评论 -
Nginx篇06-Sendfile指令及其原理
nginx中http模块中的sendfile指令及其原理。1、sendfile()介绍nginx的http模块中有一个sendfile指令,默认是开启状态,官网的文档对其解释是:Enables or disables the use of sendfile().Starting from nginx 0.8.12 and FreeBSD 5.2.1, aio can be used to pre-load data for sendfile():location /video/ {原创 2022-02-28 19:34:36 · 3339 阅读 · 0 评论 -
Nginx篇05-http长连接和keeplive
nginx中http模块使用http长连接的相关配置(主要是keepalive指令)和http长连接的原理解释。1、http长连接1.1 预备知识连接管理是一个 HTTP 的关键话题:打开和保持连接在很大程度上影响着网站和 Web 应用程序的性能。在 HTTP/1.x 里有多种模型:短连接, 长连接, 和 HTTP 流水线。在解释这三种模型之前,我们需要先明确一些前提知识:HTTP是属于应用层(七层)的协议,同时它的传输层(四层)使用的是TCP协议,那么也就是说,HTTP的长连接和短连接,其本质原创 2022-02-28 19:34:20 · 508 阅读 · 0 评论 -
Nginx篇04-map模块
title: Nginx篇04-map模块date: 2020-03-20 10:00:00tags:nginxwebhttpcategories: frontendindex_img: https://resource.tinychen.com/20210110180420s.jpgbanner_img: https://resource.tinychen.com/20210110180420.jpgnginx的map模块配置语法。map模块是由ngx_http_map_mo.原创 2022-02-28 19:33:56 · 4915 阅读 · 0 评论 -
Nginx篇03-负载均衡简单配置和算法原理
nginx的负载均衡配置,包括http、tcp和udp负载均衡,以及Round robin、Least connections、Least time(Nginx Plus专属)、Generic hash、Random、IP hash(HTTP模块专属)的原理分析。1、http负载均衡我们先来看一小段配置文件upstream backend { server 10.0.0.1:80 weight=1; server nginx.example.com:80 weight=2; }原创 2022-02-28 19:33:41 · 1460 阅读 · 0 评论 -
Nginx篇02-upstream模块中的加权轮询负载均衡
nginx的upstream模块中的加权轮询负载均衡的算法原理。我们先来看一个简单的负载均衡:upstream backend { server 10.0.0.1:80; #服务器a server 10.0.0.2:80; #服务器b}这是一个简单的负载均衡,将接受到的访问按照默认的均分原则分配给后台的两台服务器,这时候两台server的访问量应该是1:1。如果我们在后面加上权重值,例如upstream backend { server 10.0.0原创 2022-02-28 19:33:29 · 334 阅读 · 0 评论 -
Nginx篇01-基本安装配置和静态页面设置
nginx的编译安装、添加模块、yum安装、简单配置、默认目录作用和静态页面配置。0、编译安装nginx0.1 准备工作这里我们使用nginx的mainline版本的1.17.9来进行编译安装,nginx各版本的官网下载地址:http://nginx.org/en/download.html首先我们下载并解压nginx源码wget http://nginx.org/download/nginx-1.17.9.tar.gztar -zxvf nginx-1.17.9.tar.gz在编译安装之原创 2022-02-28 19:33:10 · 2537 阅读 · 0 评论