Nginx
文章平均质量分 51
我家小宝_朱朱
这个作者很懒,什么都没留下…
展开
-
nginx重定向(Redirect)- rewrite
语法:rewrite regex replacement [flag];;默认值:——可配置段:server, location作用:通过正则表达式的使用来改变URI。可以同时存在一个或多个指令。需要按照顺序依次对URL进行匹配和处理。示例: rewrite ^/(.*) http://www.baidu.com/$1 permanent;解释:rewrite:固定关键字,表示开始进行rewrite匹配规则。正则表达式^/(.*):正则表达式,匹配完整的域名和后面的路转载 2021-11-19 20:09:11 · 29387 阅读 · 0 评论 -
nginx重定向(Redirect)- return释义
return一般用于对请求的客户端直接返回响应状态码。在该作用域内return后面的所有nginx配置都是无效的。可以使用在server、location以及if配置中。除了支持跟状态码,还可以跟字符串或者url链接。示例1server{ listen 80; server_name www.linuxds.com; return 403; rewrite /(.*) /abc/$1; #该行配置位于return后,则不会被执行。}直接返回403示例2转载 2021-11-19 19:46:11 · 960 阅读 · 0 评论 -
nginx重定向(Redirect)- flag标记 break,last等
1. flag标记 1 last #表示完成rewrite,之后继续向下匹配新的location URI规则,浏览器地址栏URL地址不变。 2 break #本条规则匹配完成后,终止匹配, 不再匹配后面的规则,完成重写指令,浏览器地址栏URL地址不变。 3 redirect #返回302临时重定向,浏览器地址会显示跳转新的URL地址。 4 permanent #返回301永久重定向,浏览器地址会显示跳转新的URL地址last一般写在server和if中,而break一般使用.转载 2021-11-19 19:40:42 · 1062 阅读 · 0 评论 -
nginx重定向(Redirect)- if 匹配
1. 正则表达式 1 ~ #表示匹配过程中区分大小写; 2 ~* #表示匹配过程中不区分大小写; 3 !~ #如果 '~' 匹配失败时,那么该条件就为true; 4 !~* #如果 '~*' 匹配失败时,那么该条件就为true。示例01: 1 if ($http_user_agent ~ MSIE) { 2 …… 3 }$http_user_agent值中是否含有 MSIE 字符串,如果包含则为true,否则为false。注意:当表达式只是一个.转载 2021-11-19 19:35:15 · 780 阅读 · 0 评论 -
nginx实现内容重定向的两种方式:rewrite和反向代理
第一种:rewrite 更多参考另一个blog按照常规理解,实现重定向就是要用rewrite来实现,例如demo:[root@nginx01 ~]# vi /etc/nginx/conf.d/rewrite01.confserver { listen 80; server_name cnblogs.linuxds.com; access_log /var/log/nginx/cnblogs.access.log main; error_log..转载 2021-11-19 19:19:39 · 2781 阅读 · 0 评论 -
nginx 白名单处理
Nginx如何配置根据cookie或header自定义字段进行跳转一、根据cookie中的值来判断跳转$http_cookie这个关键词是读取cookie的全部信息,那么我们是需要判断cookie中包含的某个字段的值,比如我设置openid=5,我该如何获取那么,我们可以通过$cookie_openid,其中openid是你设置的,这里需要加前缀cookie就可以获取了。在location中设置,注意此跳转支持post传输。location / {#设置一个变量来接收跳转的地址s..原创 2021-11-19 13:59:41 · 2941 阅读 · 0 评论 -
nginx中map使用方法
场景: 匹配请求 url 的参数,如果参数是 debug 则设置 $foo = 1 ,默认设置 $foo = 0map $args $foo { default 0; debug 1;}$args 是nginx内置变量,就是获取的请求 url 的参数。 如果 $args 匹配到 debug 那么 $foo 的值会被设为 1 ,如果 $args 一个都匹配不到 $foo 就是default 定义的值,在这里就是 0在 Nginx 配置文件中的作用段: http{} ,注意 m转载 2021-11-19 13:51:52 · 822 阅读 · 0 评论 -
Nginx代理proxy pass配置去除前缀
使用Nginx做代理的时候,可以简单的直接把请求原封不动的转发给下一个服务比如,访问abc.com/appv2/a/b.html, 要求转发到localhost:8088/appv2/a/b.htmlupstream one { server localhost:8088 weight=5;} server { listen 80; server_name abc.com; access_log "pipe:rollb转载 2021-11-18 20:40:38 · 1861 阅读 · 0 评论 -
Nginx中proxy_pass的斜杠
Nginx的官网将proxy_pass分为两种类型:一种是只包含IP和端口号的(连端口之后的/也没有,这里要特别注意),比如proxy_pass http://localhost:8080,这种方式称为不带URI方式;另一种是在端口号之后有其他路径的,包含了只有单个/的如proxy_pass http://localhost:8080/,以及其他路径,比如proxy_pass http://localhost:8080/abc。也即:proxy_pass http://localhost:8080和pr转载 2021-11-18 20:26:07 · 237 阅读 · 0 评论 -
nginx 80端口重定向到443端口
nginx 80端口重定向到443端口,也就是http访问自动跳转到https配置如下:一、按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问http的时候会自动跳转到https上面。server { listen 80; server_name www.域名.com; rewrite ^(.*)$ https://${server_name}$1 permanent; }server { list转载 2021-11-17 11:30:32 · 12475 阅读 · 0 评论 -
Nginx 失败重试机制(详细)
https://zhuanlan.zhihu.com/p/127959800重试机制解析Nginx 的失败重试,就是为了实现对客户端透明的服务器高可用。然而这部分失败重试机制比较复杂且官方文档没详细介绍,本文将对其解析,并配合实际场景例子使之更容易被理解。基础失败重试这部分介绍最常见、最基础的失败重试场景。为了方便理解,使用了以下配置进行分析(proxy_next_upstream没有特殊配置):upstream test { server 127.0.0.1:80..转载 2021-01-28 18:41:32 · 4831 阅读 · 1 评论 -
CVE-2017-7529:Nginx敏感信息泄露
2017年7月11日,Nginx官方发布最新的安全公告,漏洞CVE编号为CVE-2017-7529,该在nginx范围过滤器中发现了一个安全问题,通过精心构造的恶意请求可能会导致整数溢出并且不正确处理范围,可能导致敏感信息泄漏,存在安全风险。具体详情如下:漏洞编号:CVE-2017-7529漏洞名称:Nginx敏感信息泄露漏洞官方评级:中危漏洞描述:当使用nginx标准模块时,这允许攻击者如果从缓存返回响应,则获取缓存文件头,黑客可以通过缓存文件头获取包含IP地址的后端服转载 2021-01-22 13:43:43 · 1280 阅读 · 0 评论 -
nginx的重试机制 proxy_next_upstream
https://blog.csdn.net/xiao__gui/article/details/89441162https://zhuanlan.zhihu.com/p/35803906https://www.cnblogs.com/powerwu/articles/9791295.htmlhttps://pandaychen.github.io/2019/12/15/NGINX-SMOOTH-WEIGHT-ROUNDROBIN-ANALYSIS/我的nginx 不识别non_idemp..转载 2021-01-21 20:33:28 · 14349 阅读 · 0 评论 -
nginx错误:a client request body is buffered to a temporary file
http://da.dadaaierer.com/?p=4011.错误日志:warn:an upstream response is buffered to a temporary file解决办法:增加fastcgi_buffers 8 4K; fastcgi_buffer_size 4K;2. a client request body is buffered to a ...转载 2019-09-04 16:22:16 · 23693 阅读 · 0 评论 -
Nginx之proxy_redirect详解
今天在做nginx反向代理apache的时候出了一点点问题,原来后端apache用的端口是8080通过反向代理后,使用wireshark抓包发现location头域数值为http://192.168.1.154:8080/wuman/ 如果把这个返回给客户端肯定是不可以的,看起来别扭而且还暴露了apache的具体信息所以在这里用到了nginx的proxy_redirect指定修改被代理服务器...转载 2019-08-12 13:52:06 · 2193 阅读 · 1 评论 -
docker 部署nginx
http://www.runoob.com/docker/docker-install-nginx.html1. searchdocker search nginx 我公司无法使用search,我就直接找到制品路径,找到nginx ,找到版本,直接docker pull 制品url/nginx:版本2. pull 完后 找到镜像:docker images nginx...转载 2019-05-27 19:58:36 · 215 阅读 · 0 评论 -
nginx server_name default_server nginx同一iP多域名配置方法
nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。一、每个域名一个文件的写法首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com则在此目录建一个文件:www.it...转载 2019-03-19 13:25:33 · 8256 阅读 · 0 评论 -
nginx之 [error] 6702#0:XXX is forbidden (13: Permission denied)
转:https://blog.csdn.net/zhang123456456/article/details/73252148解决过程:1. 查看报错日志[root@mysql03 nginx]# cat logs/error.log 2017/06/15 04:00:57 [error] 6702#0: *14 "/root/html/index.html" is forbidden...转载 2018-12-06 15:28:04 · 1388 阅读 · 0 评论 -
docker nginx 后台执行
nginx -g 'daemon off;'转载 2018-12-05 14:37:11 · 1347 阅读 · 0 评论 -
Nginx上传文件大小限制(请求报文过大)413 Request Entity Too Large
在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413Request Entity Too Large。于是奇葩的问题被我们遇到了,详细配置请参考下面。我们的问题是,无论client_max_body_size设置在哪里,nginx -s reload后,依然一直报413.多次尝试reload,始终无效。最终决定kill 进程,restart,终于好了。设置...原创 2018-06-20 12:50:40 · 46635 阅读 · 2 评论 -
nginx 504 Gateway Time-out错误解决办法
1. 优化业务代码一个接口调用超过一分钟,一定有可以优化的地方,看看数据库或者接口的调用是否合理,是否可以合并请求。2. 修改Nginx的服务器配置如果实在是优化不了了,可以把Nginx的超时时间上调。看看时间是否符合要求,在nginx.config里面的三个参数:fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_t...转载 2018-06-20 12:46:14 · 1800 阅读 · 0 评论 -
Nginx学习历程_配置文件说明
此系列来自 http://freeloda.blog.51cto.com/2033581/12857221. nginx 配置文件结构Nginx配置文件主要分为4部分:main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)。main部分设置的指令将影响其他所有设置;server部分的指令主要用于指定主机和端口;转载 2016-07-01 15:29:22 · 780 阅读 · 0 评论 -
Nginx学习历程_1_Nginx提供Web服务
1.提供测页面12345678[root@web nginx]# mkdir -pv /data/www mkdir: 已创建目录 "/data/www" [root@web nginx]# cd /data/www [root@web www]# ll 总用转载 2016-07-03 15:27:48 · 332 阅读 · 0 评论 -
Nginx学习历程_2_配置Nginx的虚拟主机
1.修改配置文件1234567891011121314151617[root@web www]# vim /etc/nginx/nginx.confserver { listen转载 2016-07-03 15:31:17 · 258 阅读 · 0 评论 -
Nginx学习历程_3_配置Nginx打开目录浏览功能
1.指令说明Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件,在location server 或 http段中加入autoindex on;另外两个参数最好也加上去,autoindex_exact_size off;默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB。转载 2016-07-03 15:43:47 · 309 阅读 · 0 评论 -
Nginx配置文件nginx.conf中文详解
#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件转载 2016-07-03 15:51:27 · 299 阅读 · 0 评论 -
Nginx学习历程_5_Nginx对于静态文件的缓存配置
为了提高响应速度,减轻真实服务器的负载,对于静态资源我们可以在反向代理服务器中进行缓存,这也是反向代理服务器的一个重要的作用。(1)缓存静态资源之图片文件root /nginx-1.4.7/staticresources/image:对于配置中提到的jpg/png等文件均定为到/nginx-1.4.7/staticresources/image文件夹中进行寻找匹配并将文件返回;转载 2016-07-03 15:57:44 · 2455 阅读 · 0 评论 -
nginx作为下载文件服务器
server { listen 8082; #端口 server_name localhost; #服务名 root /dev/shm/update; #显示的根索引目录 autoindex on; #开启索引功能 autoindex_exact_siz...转载 2016-11-04 11:35:11 · 4676 阅读 · 0 评论 -
Windows下Nginx学习历程_安装启停
1)下载地址: http://nginx.org2)启动 解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\nginx\logs3)使用 http://localhost4)关闭 nginx -s stop 或taskkill /F /IM ngi转载 2016-07-01 11:32:53 · 1367 阅读 · 0 评论 -
Nginx设置alias实现虚拟目录 alias与root的用法区别
Nginx 貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较"像",干脆来说说alias标签和root标签的区别吧。最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rew转载 2016-11-04 11:21:49 · 1454 阅读 · 0 评论 -
linux安装nginx
1、下载nginxwget http://nginx.org/download/nginx-1.10.2.tar.gz解压 tar -zxvf nginx-1.10.2.tar.gz2、下载opensswget http://www.openssl.org/source/openssl-fips-2.0.13.tar.gz解压 tar -zxvf openssl-fips-2.0.1...转载 2016-11-12 17:40:51 · 442 阅读 · 0 评论 -
linux 开机自启动nginx
这里使用的是编写shell脚本的方式来处理vi /etc/init.d/nginx (输入下面的代码) #!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is转载 2016-11-23 15:09:25 · 448 阅读 · 0 评论 -
在linux系统下怎么安装两个nginx
在linux下安装nginx的时候,一般在./configure的阶段会要求通过prefix设置安装路径。因此,在./configure的时候指定不同的prefix就可以安装多个nginx啦。值得注意的是,安装完之后,两个nginx的监听端口要设置成不同的监听端口。否则,会有一个nginx无法启动。12./configure --pref转载 2016-11-23 17:01:51 · 8342 阅读 · 0 评论 -
CentOS 6.3下Nginx性能调优
http://www.cnblogs.com/kevingrace/p/6094007.html一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项:1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。worker_processes 8;2)为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可...转载 2016-12-30 17:47:16 · 317 阅读 · 0 评论 -
linux nginx的https 及 负载
在安装nginx的时候,需要安装ssl 模块1. 安装openssl注意 是openssl 而不是openssl-fips官网上找地址哦wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz解压缩 make & make install我还安装了 yum install openssl-devel ,...原创 2016-11-26 18:39:04 · 450 阅读 · 0 评论 -
nginx源码编译安装出现“make[1]: Leaving directory `/usr/local/nginx’“解决办法
因为我所有的操作步骤都是按照上面来的,我的解决办法也非常的简单:如果你走到make这一步的时候只出现了一行“make[1]: Leaving directory `/usr/local/nginx-1.12.1;”提示,不用管它,继续走make install ;然后:1、我只需要去看/usr/local下面是否有nginx文件夹?2、如果已经有nginx文件夹?转载 2018-01-20 14:18:29 · 150604 阅读 · 7 评论 -
Nginx日志管理及切割
1 日志管理1.1 Nginx日志描述通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。1.2 Nginx日志格式打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf......原创 2018-06-21 17:15:32 · 8417 阅读 · 0 评论 -
Windows下Nginx学习历程_Nginx反向代理设置从80端口转向其他端口 : proxy_pass
nginx可以很方便的配置成反向代理服务器server下的结点:listen:监听80端口server_name:转发到哪个地址proxy_pass:代理到哪个地址server {listen 80;server_name 127.0.0.1;location / { proxy_passhttp://127.0.0.1:8080; proxy_...转载 2016-07-01 14:03:15 · 8095 阅读 · 0 评论