常用变量

demo uri

www.example.com/mock/interface?param1=203&param2=test

$args

uri中的参数值 ?后面的部分 param1=203&param2=test

可以通过

if ($args != '')

判断参数值是否为空

$uri

域名后面部分不带参数 /mock/interface

$1 $2 … ...

任何正常匹配表达式都会更新这些值...

$host $http_host

$host www.example.com

$http_host 可能带端口号

$remote_addr

本机ip

$proxy_add_x_forwarded_for

增加上自己IP的 x_forwared_for

location支持的匹配规则(按优先级排序)

精确匹配 =

location = /mock … … 无法匹配 /mock/interface

只有 location = /mock/interface 才能匹配

前缀匹配 (同级 按最大匹配原则)^~

location ^~ /mock

location ^~/mock/interface 都能匹配到 但是后者生效

按文件顺序匹配 ~

就是简单的正则匹配 但是同级之间 无最大匹配原则

location ~ ^/mock

location ~ interface 都能匹配 具体匹配哪一个就看在conf文件里的位置

不带任何修饰符的前缀匹配

location /mock/ 之类

location / 通用匹配

rewrite

重写uri rewrite之后 $uri的值会跟着修改

last 相当于重新发起一次请求 匹配所有的location

break马上只匹配 之前存在的location (如果在location内 则不包括自己)

redirect 302

permanent 301 直接让客户端重新返回

反向代理常用配置

location / {
proxy_pass http://upstream_name; # 也可以是具体的ip/域名
proxy_set_header Host $host; # 设置发送到真正服务时http请求的host
proxy_set_header X-Real-IP $remote_addr; # 设置真正的请求IP 但是似乎不是标准
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 在http请求打上代理机器的ip
proxy_connect_timeout 30s; # 后端服务器连接超时时间
proxy_send_timeout 30s; # 代理发送超时时间
proxy_read_timeout 30s; # 代理接收超时时间 proxy_redirect off; # 对后端服务器重定向 host改写关闭 可配
client_max_body_size 10m; # 允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; # 缓冲区代理缓冲用户端请求的最大字节数
proxy_buffer_size 4k; # nginx保存响应header的缓冲区大小
proxy_buffers 4 32k; # 缓存区个数 和 大小
proxy_busy_buffers_size 64k; # 高负荷时专门向客户端发送数据的缓冲区大小,来自于以上两块缓冲区,一般建议proxy_buffers*2
proxy_temp_file_write_size 64k; # 设定缓存文件夹大小,大于这个值,将从upstream服务器直接传到客户端
}

nginx配置比较杂乱的总结的更多相关文章

  1. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  2. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Nginx 配置简述

    不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...

  5. Nginx配置详解

    序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...

  6. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

  7. nginx配置为windows服务中的坑

    网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...

  8. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  9. Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?

    最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...

随机推荐

  1. mysql ERROR 1862 (HY000): 密码超时错误解决 Your password has expired.To log in you must change it using a client that supports expired password

    工具链接可能报错,使用黑窗口链接后: 1. SET PASSWORD = PASSWORD("xinmima"); 2. flush privileges; 使用新密码链接即可.

  2. 杂乱的Solidity - 2019-7-13

    要清楚在区块链上开发DApp的架构[x][][][][][]   DApp是去中心化的应用   基于智能合约 去中心化的游戏规则 代币激励  

  3. php保存canvas导出的base64图片

    代码如下: <?php $img='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABxCAYAAABoUdWRAAAAAXNSR0IAr ...

  4. devops 运维平台相关知识

    1.https://choerodon.io/zh/community/ (代码 https://github.com/choerodon/choerodon) 猪齿鱼 2.https://www.o ...

  5. Cannot read property '_withTask' of undefined

    前言 Cannot read property '_withTask' of undefined 突然一下子,就报这个错了,刚刚还好好呢 Bug分析 1.是在template中调用了某个方法,但是你没 ...

  6. git的commit撤销

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: gi ...

  7. 检测是否安装或者开启flash

    function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 if(document ...

  8. C# System.Web.Mail.MailMessage 发邮件

    C# System.Web.Mail.MailMessage 发邮件 新建控制台Console项目,然后添加 System.Web引用 代码如下: using System; using System ...

  9. ES 基本用法

    转自:https://www.cnblogs.com/rodge-run/p/7760308.html ES的基本概念 1> 集群和节点 一个es集群是由一个或多和es节点组成的集合 每一个集群 ...

  10. HTTP、MQTT、Websocket、WebService区别

    相同点: HTTP.MQTT.Websocket均为OSI 7层模型的[应用层协议]注意. WebService并非通信协议,而是一种远程接口调用(RPC)的框架技术. 不同点: MQTT MQTT协 ...