博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx配置比较杂乱的总结
阅读量:4926 次
发布时间:2019-06-11

本文共 1643 字,大约阅读时间需要 5 分钟。

常用变量

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服务器直接传到客户端}

转载于:https://www.cnblogs.com/Me1onRind/p/10799456.html

你可能感兴趣的文章
Golang理解-错误处理策略
查看>>
运维职责
查看>>
Golang理解-集合
查看>>
element中使用表单验证rules 需要注意
查看>>
AnyChatSDK 实现视频通话
查看>>
Gerrit error when Change-Id in commit messages are missing
查看>>
【面试题】实现一个队列数据结构,并使用这个队列实现一个生产者消费者模式...
查看>>
第二阶段团队冲刺第二天站立会议
查看>>
隐式激活Activity
查看>>
DAG
查看>>
使用MVVM框架时,如何处理在页面动态渲染完之后需要发生的事件呢?
查看>>
StringBuilder与StringBuffer的区别
查看>>
String、StringBuffer、StringBuilder
查看>>
(转)导出EXCEL时科学计数法问题
查看>>
SVN客户端与服务器端搭建
查看>>
知识点整理一
查看>>
判断浏览器
查看>>
追加window.onload事件
查看>>
python并发编程之进程池,线程池concurrent.futures
查看>>
rdd的元素打印
查看>>