nginx
文章平均质量分 80
thlzjfefe
这个作者很懒,什么都没留下…
展开
-
nginx request_body 为空的处理
方法:1)在server 块中使用set $resp_body "";声明变量;转载 2023-01-08 18:05:42 · 3013 阅读 · 1 评论 -
如何让nginx不返回304
nginx作为静态服务器时,可以提高访问的速度,默认配置下,nginx响应头中会返回:Etag、Last-Modified等信息。这样客户端(比如浏览器)再次访问时,时常会携带请求头:If-Modified-Since,此值为上次响应头中Last-Modified对应的值,那么nginx在收到资源请求时,将会比较If-Modified-Since的值,是否与文件最后的修改时间相等,如果相等就返回304,否则返回200。 所以,如果让nginx每次否返回200,则需要将相应的响应头去掉,即...原创 2022-04-01 20:14:41 · 13063 阅读 · 0 评论 -
为什么HTTP Upgrade的时候,需要Connection: upgrade
很久之前,在看HTTP头部的时候,发现WebSocket等协议的Upgrade请求,需要同时带上Connection和Upgrade头部。但是,如果是仅仅Upgrade的话,Connection头部不就是多余的设计了么?比如一个典型的WebSocket升级请求如下: 123456 GET /chat HTTP/1.1Host: example.com:8000Upgrade: websocketConnection: UpgradeSec-We.转载 2022-01-22 22:09:04 · 1155 阅读 · 0 评论 -
前端性能优化之gzip
背景如果你是个前端开发人员,你肯定知道线上环境要把js,css,图片等压缩,尽量减少文件的大小,提升响应速度,特别是对移动端,这个非常重要。压缩压缩方式前端压缩的方式很多,依赖java的有ant工具,前端自己打包压缩的有grunt,gulp,webpack,这些压缩也很重要,基本上能压缩50%以上,下面我们对压缩文件来个对比,如图所示,这是未压缩的这是压缩后的高能预警!!!gzip能在压缩的基础上再进行压缩50%以上!!!gzip压缩原理但是不是每个浏览器都...转载 2021-04-20 16:11:33 · 695 阅读 · 0 评论 -
nginx 防注入xss跨站规则
## Block SQL injectionsset $block_sql_injections 0;if ($query_string ~ "union.*select.*\(") {set $block_sql_injections 1;}if ($query_string ~ "union.*all.*select.*") {set $block_sql_injections 1;}if ($query_string ~ "concat.*\(") {set $block_sql_.转载 2021-03-17 19:53:01 · 1858 阅读 · 0 评论 -
什么是负载均衡?什么是高可用?说说常见的负载均衡案例!
一、 什么是负载均衡?什么是负载均衡?记得第一次接触 Nginx 是在实验室,那时候在服务器部署网站需要用 Nginx 。Nginx 是一个服务组件,用来反向代理、负载平衡和 HTTP 缓存等。那么这里的 负载均衡 是什么?负载均衡(LB,Load Balance),是一种技术解决方案。用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免过载。资源,相当于每个服务实例的执行操作单元,负载均衡就是将大量的数据处理操作分摊到多个操作单元进行执行,用来解决互联网分布式系统..转载 2021-01-18 22:40:30 · 321 阅读 · 0 评论 -
nginx proxy_cache 缓存配置
前言:由于本人工作原因,涉及到网络直播领域,其中视频的回放下载,涉及到了一些视频下载方面的技术。针对于一个完整视频的下载,目前市面上的主流做法是,先将整个视频流切片,存储到文件服务器中,在用户需要观看回放视频时。通过一个视频回源服务器,去文件服务器中逐个请求切片,返回给用户播放。今天着重探讨的是关于回源服务器缓存的配置以及合理的缓存策略。通过给回源服务器配置缓存的案例,详细讲解一整套缓存配置机制,并且可沿用到其他任何缓存配置场景中。今天的讲解分为四点:回源服务器的工作是啥为啥需要给回源服务器加缓转载 2020-12-19 20:54:57 · 824 阅读 · 1 评论 -
引流测试-nginx_mirror镜像数据
一、背景最近nginx官网公布了nginx1.13.4最新的ngx_http_mirror_module模块,利用mirror模块,业务可以将线上实时访问流量拷贝至其他环境,基于这些流量可以做版本发布前的预先验证,进行流量放大后的压测等等mirror模块配置分为两部分,源地址和镜像地址配置,配置位置可以为nginx配置文件的http, server, location上下文,配置示例为:location / {root html;index index.html index.htm.转载 2020-12-02 10:54:24 · 504 阅读 · 0 评论 -
Nginx 常用变量
Thengx_http_core_modulemodule supports embedded variables with names matching the Apache Server variables. First of all, these are variables representing client request header fields, such as$http_user_agent,$http_cookie, and so on. Also there are othe...原创 2020-11-18 19:36:18 · 175 阅读 · 0 评论 -
论HTTP请求大小
HTTP分为URI,HEADER,Body三个部分。每个部分都可以包含请求信息,那么每个部分是否都有请求大小限制呢?刚开始以为这个问题很容易找到答案,后来发现这也是个挺复杂的问题。URI首先是URI,我们知道,在GET请求中,请求参数是放在URL进行传递的,所以,HTTP GET的请求最关心的一个问题:能有多长?我能放多少参数?URI从HTTP 1.1协议中开始找:(RFC 2616)The HTTP protocol does not place any a priori limit on转载 2020-10-26 14:21:18 · 6669 阅读 · 0 评论 -
net::ERR_CONNECTION_REFUSED
部署上线运行一段时间后,访问突然报错:net::ERR_CONNECTION_REFUSED现象:http://www.test.com 一切正常 https://www.test.com 报错: net::ERR_CONNECTION_REFUSED一般这是由于网络端口不通造成的,使用telnet,果然不通于是检查配置,发现nginx监听端口443被注释了,# listen 443 ssl;解决方法,打开该注释即可:如果是docker中运行的ngi...原创 2020-10-19 22:07:58 · 6512 阅读 · 0 评论 -
Ngnix 流量拷贝
在需要真实的流量做旁路测试的时候,我们就可以使用 nginx 来做流量的拷贝1 Nginx Mirror 模块nginx 自1.13.4 版本开始,自带一个ngx_http_mirror_module,使用起来非常简单,只要在需要 mirror 的 location 处添加 mirror 关键字就行Copy 123456789 location / { mirror /mirror; proxy_pass http://ba.转载 2020-07-01 09:38:10 · 590 阅读 · 0 评论 -
nginx 之 proxy_pass 接口转发的规则
今天上了一个多页应用,发现接口转发后是 401。 最后发现是接口转发出错了。地址里多拼了一个 路径。 以前我一直以为location 字段会替换掉 proxy_pass 里面配置的 url 地址。 今天了解了一下 发现还是有不少细节的。// node js 文件,打印请求路径。方便查看后端真实接受到的请求地址const http = require('http');http.createServer((req, res) => { console.log(req.url); res.e..转载 2020-07-01 09:35:58 · 630 阅读 · 0 评论 -
Nginx流量拷贝ngx_http_mirror_module模块配置及分析
本文适合对nginx比较感兴趣的同学阅读,需要具备一定的服务端编程知识。一、背景最近nginx官网公布了nginx1.13.4最新的ngx_http_mirror_module模块,利用mirror模块,业务可以将线上实时访问流量拷贝至其他环境,基于这些流量可以做版本发布前的预先验证,进行流量放大后的压测等等。本着兴趣笔者调研了其实现原理和使用方式,通过demo的形式展示给读者,希望能解决大家在使用过程中遇到的问题。二、mirror模块配置mirror模块配置分为两部分,源地址和镜像地址配置,配转载 2020-06-30 15:30:41 · 550 阅读 · 0 评论 -
Nginx 允许或禁止指定IP访问
项目中,为了安全,有时候我们只需要指定的白名单IP才可以访问服务,或者禁止某些恶意的IP访问,这时候我们可以通过nginx的配置达到此目的。1、允许某个IP访问 allow IP allow 192.168.1.602、允许所有IP访问 allow all3、禁止某个IP访问 deny IP deny 192.168.1.604、禁止所有IP访问 deny all注意: 如果只是允许某些...原创 2020-06-09 20:57:55 · 871 阅读 · 1 评论 -
nginx 作为下载服务器 autoindex
如果将nginx作为下载服务器,则只需要在http模块加入以下代码,重启nginx即可: autoindex on; autoindex_exact_size on; autoindex_localtime on;原创 2020-06-09 18:10:10 · 235 阅读 · 1 评论 -
Nginx配置跨域请求 Access-Control-Allow-Origin *
当出现403跨域错误的时候No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数:一、 解决方案只需要在Nginx的配置文件中配置以下参数:location / { add_header Access-Control-All...转载 2020-04-02 16:57:02 · 198 阅读 · 0 评论 -
nginx 配置 X-Frame-Options
假如在域名b.com下,有一个html页面test.html,访问路径为:http://b.com/test.html;如果要防止别人在iframe下访问该页面,则可以通过nginx配置实现。举例如下:现有页面a.html,http://a.com/a.html,该页面有一个iframe,src=http://b.com/test.html<!DOCTYPE html>...原创 2020-03-22 15:27:34 · 10208 阅读 · 0 评论 -
利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大
利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大0. 需求复制线上真实流量,在不影响真实业务前提下,利用复制流量来做故障分析、性能定位、迁移评估等功能。具体功能包含:支持或禁止post请求复制 记录复制(镜像)日志mirror:中文为镜像的意思,这里指流量复制的目的地。1. ngx_http_mirror_module模块特性...转载 2020-02-23 11:40:53 · 855 阅读 · 0 评论 -
引流测试-nginx_mirror镜像数据
一、背景最近nginx官网公布了nginx1.13.4最新的ngx_http_mirror_module模块,利用mirror模块,业务可以将线上实时访问流量拷贝至其他环境,基于这些流量可以做版本发布前的预先验证,进行流量放大后的压测等等mirror模块配置分为两部分,源地址和镜像地址配置,配置位置可以为nginx配置文件的http, server, location上下文,配置示例...转载 2020-02-12 11:52:45 · 705 阅读 · 0 评论 -
nginx的proxy_pass路径转发规则浅析(末尾/问题)
一 location匹配路径末尾没有 /此时proxy_pass后面的路径必须拼接location的路径: 1 2 3 4 5 6 7 8 location /sta { proxy_redirect off; proxy_set_headerHos...转载 2020-02-12 10:55:56 · 242 阅读 · 0 评论 -
nginx日志request_time 和upstream_response_time区别
笔者在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大。原来$request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time。下面介绍下2者的差别:1、request_time官网描述:request processing time...转载 2019-10-20 11:05:54 · 694 阅读 · 0 评论 -
终极指南:提高Nginx服务器硬度的12个技巧
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 也许你听过以上关于Nginx的美妙的事情,您可能已经很喜欢它了,正在考虑如何提高Nginx服务...转载 2019-10-13 17:56:34 · 159 阅读 · 0 评论 -
nginx配置神器
Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器;在安装配置上它安装,配置都比较简单。关于Nginx部署、配置的文章公众号已经发布过很多:深度总结|深入浅出NginxHTTP服务器Nginx服务介绍续Nginx优化配置详解1...转载 2019-10-12 21:14:14 · 230 阅读 · 0 评论 -
nginx绑定多个端口
有两种方法:一、在server段写上2个Listen就可以了.listen 192.168.0.15:808;listen 192.168.0.15:8098;如上,就可以同时监听2个端口了.二、在 nginx.conf 中配置多个个server即可user nginx nginx;worker_processes 1;worker_rlimit_nofile...转载 2019-01-25 14:33:17 · 47108 阅读 · 0 评论 -
在Nginx上配置多个站点
原文链接:https://www.cnblogs.com/Erick-L/p/7066564.html有时候你想在一台服务器上为不同的域名运行不同的站点。比如www.siteA.com作为博客,www.siteB.com作为论坛。你可以把两个域名的IP都解析到你的服务器上,但是没法在Nginx的根目录里同时运行两个不同的网站。这时候,你就需要使用虚拟目录了。假设你把博客放在”/home/use...转载 2019-01-20 15:35:41 · 424 阅读 · 0 评论 -
nginx的location、root、alias指令用法和区别
原文连接:http://www.nginx.cn/4658.html nginx指定文件路径有两种方式root和alias,指令的使用方法和作用域:[root]语法:root path默认值:root html配置段:http、server、location、if[alias]语法:alias path配置段:locationroot与alias主要区别在于nginx如何...转载 2018-12-17 21:40:03 · 441 阅读 · 0 评论 -
Windows下Nginx的启动、停止等命令
原文连接 https://www.cnblogs.com/qianzf/p/6809427.htmlWindows下Nginx的启动、停止等命令在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。1、启动:C:\server\nginx-1.0.2>start nginx或C:\ser...转载 2018-11-25 15:54:56 · 107 阅读 · 0 评论 -
nginx 中通过server_name listen的方式配置多个服务器
现在假设有三台主机,他们的ip分别为:A: 192.168.1.167B: 192.168.1.168C: 192.168.1.169nginx作为代理服务器部署在主机 A 上面,B 和 C 作为两台应用服务器。现在想实现通过A访问B和C,有以下两种方式:一、通过不同的listen实现对B和C的访问,实现方式如下:在nginx.conf中添加两个serverserver {...原创 2018-11-25 15:53:14 · 28467 阅读 · 3 评论 -
nginx配置location总结
原文连接:https://www.cnblogs.com/coder-yoyo/p/6346595.html nginx配置location总结location匹配顺序"="前缀指令匹配,如果匹配成功,则停止其他匹配 普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配) 正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹...转载 2018-11-24 18:33:47 · 153 阅读 · 0 评论 -
nginx日志解析:java正则解析
原文连接:http://www.aboutyun.com/thread-20709-1-1.html 背景: 日志从nginx产生,并实时写入kafka队列中,为了便于对海量日志数据进行离线分析,我们一般将日志存放到hdfs下,然后通过hive建立外部表使用HQL进行数据统计分析。而要使hive能够识别日志信息,我们必须将日志内容结构化。将日志信息解析成h...转载 2018-10-24 19:51:49 · 4614 阅读 · 1 评论 -
nginx location root alias 用法说明
一、alias location /view { alias /opt/view; index index.html index.htm; access_log on; expires 30d; } alias 是目录别名的意思,指的是绝对路径。因此按照以上配置的话,如果请求路径是 /view/hello.html,...原创 2018-08-10 10:45:23 · 452 阅读 · 0 评论 -
nginx常用代理配置
原文连接:https://www.cnblogs.com/fanzhidongyzby/p/5194895.html因为业务系统需求,需要对web服务作nginx代理,在不断的尝试过程中,简单总结了一下常见的nginx代理配置。1. 最简反向代理配置在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。upstream my_ser...转载 2019-03-08 20:21:53 · 166 阅读 · 0 评论 -
Nginx $host变量详解 及 如何读取请求头header里面的key
原文连接:https://www.jianshu.com/p/0850db5af284$host变量的官方解释$host:in this order of precedence: host name from the request line, or host name from the “Host” request header field, or the server name...转载 2019-03-06 19:16:07 · 23982 阅读 · 1 评论 -
Nginx服务器之负载均衡策略(6种)
一、关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。详情请查看我的另一篇博客。二、Nginx负载均衡策略 负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器...转载 2019-07-27 11:06:09 · 205 阅读 · 0 评论 -
nginx中 $1,$2,$3是什么?
Nginx中,set $para $1,$1表示路径中正则表达式匹配的第一个参数。以下是一个示例,用以实验$1,$2。如: location ~/abc/(.*)/(.*) { set $para1 $1 set $para2 $2 content_by_lua_block { ngx.say(ngx.var...转载 2019-09-27 13:41:35 · 1903 阅读 · 0 评论 -
ngx.location.capture 只支持相对路径,不能用绝对路径
ngx.location.capture 是非阻塞的,ngx.location.capture也可以用来完成http请求,但是它只能请求到相对于当前nginx服务器的路径,不能使用之前的绝对路径进行访问,但是我们可以配合nginx upstream实现我们想要的功能。在nginx.cong中的http部分添加如下upstream配置upstream backend { server...转载 2019-09-23 15:33:11 · 1355 阅读 · 0 评论 -
OpenResty学习 lua-resty-http、ngx.location.capture
Http客户端OpenResty默认没有提供Http客户端,需要使用第三方提供;当然我们可以通过ngx.location.capture去方式实现,但是有一些限制,后边我们再做介绍。我们可以从github上搜索相应的客户端,比如https://github.com/pintsized/lua-resty-http。lua-resty-http1、下载lua-re...转载 2019-09-23 15:30:28 · 2209 阅读 · 0 评论 -
NGINX + LUA实现复杂的控制 连接mysql
安装lua_nginx_module 模块lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenRestyCentos和debian的安装就简单了。。这里说下freebsd的安装:fetch http://www.lua.org/ftp/lua-5.1.4.tar.gztar zxvf lua-5.1.4.tar.gzcd lua-5.1.4make...转载 2019-09-23 15:19:02 · 332 阅读 · 0 评论 -
nginx配置文件中的location详解
location语法:location [=|~|~*|^~] /uri/ { … } 默认:否上下文:server这个指令随URL不同而接受不同的结构。你可以配置使用常规字符串和正则表达式。如果使用正则表达式,你必须使用 ~* 前缀选择不区分大小写的匹配或者 ~ 选择区分大小写的匹配。确定 哪个location 指令匹配一个特定指令,常规字符串第一个测试。常规字符串匹配请求的开始...转载 2019-09-22 15:16:20 · 1109 阅读 · 0 评论