nginx配置比较杂乱的总结
常用变量
demo uri
www.example.com/mock/interface?param1=203¶m2=test
$args
uri中的参数值 ?后面的部分 param1=203¶m2=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配置比较杂乱的总结的更多相关文章
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx 配置简述
不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...
- Nginx配置详解
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- nginx配置为windows服务中的坑
网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...
- 【nginx配置】nginx做非80端口转发
一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...
- Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?
最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...
随机推荐
- Windbg妙用
计算器 当你在调试,需要做一些从十六进制到十进制的简单转换,一些整数计算你不需要切换到calc.exe,你可以只使用windbg的表达式计算器.假设你得到了一个十六进制的大小,比如说2e903000, ...
- mybatis的判定时间字段问题 java.lang.IllegalArgumentException: invalid comparison: cn.hutool.core.date.DateTime and java.lang.String
今天听组员说: mybatis在3.30版本及以上判定时间时 <if test="date_time != null and date_time != '' "> da ...
- 前端微信小程序资讯类仿今日头条微信小程序
需求描述及交互分析设计思路和相关知识点新闻频道滑动效果设计首页新闻内容设计首页新闻详情页设计我的界面列表式导航设计系统设置二级界面设计 设计思路(1)设计底部标签导航,准备好底部标签导航的图标和建立相 ...
- Brexit Gym - 101490C
题目链接:Brexit vector的使用(vector存边),巧用queue,相当于Bfs /* */ # include <iostream> # include <cstdio ...
- kms windows激活
Microsoft KMS Activation Usage Start a Command Prompt as an Administrator. Windows slmgr.vbs -upk sl ...
- IDEA实现SpringBoot热部署
1.pom.xml添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...
- pyqt5设置背景图片出现问题
在使用pyqt5时,用qtdesign设置好背景图片,如何设置自行百度,预览没问题,用ptuic5转换为代码却发现显示不了: 首先:我在qtdesign中导入的是pic.qrc,但是转换的代码最后一句 ...
- crontab定时任务接入
# 查看 $ crontab -l # 创建 $ crontab -e # 每分钟输出一次当前时间 * * * * * echo `date` >> /demo.log # 查看定时 $ ...
- 安装docker (centos7.6)
Docker 更新yum包 sudo yum update 卸载旧版本sudo yum remove docker docker-common docker-selinux docker-engine ...
- 范仁义html+css课程---8、新元素布局
范仁义html+css课程---8.新元素布局 一.总结 一句话总结: 推荐用新标签(语义化的标签)来布局:header(头部),footer(尾部),aside(侧边栏),nav(导航),artic ...