Nginx配置之location模块和proxy模块
1、location指令的用法介绍
Location主要用来匹配url,如:http://www.beyond.com/nice,在这里对于location来说www.beyond.com是域名,/nice才是url。
对于url的匹配,可以使用字符串或者正则表达式,但如果是正则表达式,必须指定前缀,location指令来匹配不同的url,匹配成功后应用不同的配置
语法:location [=|~|~*|^~|@]/url {…..}
[=]精确匹配,如果找到匹配等号的内容,立即停止搜索,并立即处理请求(优先级最高)
[~]区分大小写
[^~]只匹配字符串,不匹配正则表达式
[~*]不区分大小写
[@]指定一个命名的location,一般只应用于内部重定向请求,location @name {・・・}
示例:
12345678910111213141516171819202122232425262728293031323334 |
worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.liyunlong.com; #No.1 location / { return 502; } #No.3 location ~* \.jpg$ { return 403; } #No.4 location ^~ /a/ { return 402; } #No.5 location /a/1.jpg { return 401; } #No.6 location = /a/.jpg { return 400; }}} |
小结:
1、等号优先级最高,工作中尽量把等号匹配的放在前边
2、~* \.jpg$优先级第二
3、^~ /a/优先级第三
proxy模块的介绍
Nginx转发模块是ngx_http_proxy_module,默认安装,可以直接使用
Proxy_pass此指令用于转发location匹配到的url到serve池子中。
参数:
proxy_set_header 让proxy获取RS的head(虚拟主机名字)
client_body_buffer_size客户端请求缓存大小,可以理解为先保存本地在传给用户
proxy_connect_timeout 与RS链接超时的时间
proxy_send_timeout RS回传数据的时间,必须在这个时间段内传完,否则断开连接
proxy_read_timeout 等待RS响应的时间,标明连接已经成功,正在排队
proxy_buffer_size 缓存区大小,默认等于指令proxy_buffers设置的大小
proxy_buffers 缓冲区的数量和大小,从RS获取的响应信息会放置到缓冲区
proxy_busy_buffers_size系统很忙时可以使用的proxy_buffers大小,官方推荐的大小是proxy_buffers的两倍
proxy_temp_file_write_size 缓存临时文件的大小
proxy_set_headerhost $host当RS有多个虚拟主机的时候需要逐个指定
proxy_set_headerX-Forwarded-For $remote_addr 开启负载均衡器转发真实客户的IP地址给RS.
注意:
“proxy_set_header”当我们的RS有多个虚拟主机(相同的ip,相同的端口)的时候如www、bbs、blog,代理服务器怎么知道将请求发到哪呢,这个时候nginx代理就会查找proxy_set_header参数,将请求发送到相应域名的虚拟主机上。
http://www.lai18.com/content/24608730.html
Nginx配置之location模块和proxy模块的更多相关文章
- Nginx 配置指令location 匹配符优先级和安全问题【转】
Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";&q ...
- Nginx配置基础-location
location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location.= 进行普通 ...
- nginx配置中location匹配规则详解
一.概述 nginx官方文档给出location语法如下: 1 location [=|~|~*|^~] uri { … } 其中,方括号中的四种标识符是可选项,用来改变请求字符串和uri的匹配方式. ...
- 转:Nginx配置指令location匹配符优先级和安全问题
转:http://www.jb51.net/article/47761.htm 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾 ...
- 【转】【Centos】nginx配置:location配置方法及实例详解
location匹配的是nginx的哪个变量? $request_uri location的匹配种类有哪些? 格式 location [ 空格 | = | ~ | ~* |^~ | !~ | !~* ...
- nginx配置:location配置方法及实例
转载:https://blog.csdn.net/heiyueya/article/details/70149270 location匹配的是nginx的哪个变量? $request_uri loca ...
- Nginx配置指令location匹配符优先级和安全问题
使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";"号,语句块用"{}"括起来. ...
- nginx配置:location配置方法及实例详解
今天深入研究了下nginx的location的用法,已经一些需要注意的细节,现在做一个归纳总结,以备后面查询. location匹配的是nginx的哪个变量? $request_uri locatio ...
- 【转】nginx配置:location配置方法及实例详解
location匹配的是nginx的哪个变量? $request_uri location的匹配种类有哪些? 格式 location [ 空格 | = | ~ | ~* | !~ | !~* ] /u ...
随机推荐
- Django之权限管理插件
一.功能分析: 一个成熟的web应用,对权限的控制.管理是不可少的:对于一个web应用来说是什么权限? 这要从web应用的使用说起,用户在浏览器输入一个url,访问server端,server端返回这 ...
- 深入浅出php socket编程
对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.什么是TCP/IP.UDP?2.Socket在哪里呢?3.Socket是什么 ...
- 把旧系统迁移到.Net Core 2.0 日记(8) - EASYUI datagrid+ Dapper+ 导出Excel
迁移也没太大变化,有一个, 之前的Request.QueryString 是返回NameValueCollection, 现在则是返回整个字符串. 你要改成Request.Query[“key”] 直 ...
- 整合SpringDataJPA
JPA:ORM(Object Relational Mapping); 1).编写一个 实体类(bean)和数据表进行映射,并且配置好映射 关系: /** * Created by windMan o ...
- python QMainWindow QWidget
from PyQt5 import QtWidgetsfrom untitled import Ui_MainWindowfrom PyQt5.QtWidgets import QFileDialog ...
- error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because
ubuntu 命令行sudo apt-get update W: GPG error: http://ppa.launchpad.net lucid Release: The following si ...
- python ----字符串基础练习题30道
1.执行python脚本的两种方式 一种是点开始--运行--cmd 方式(这个操作需要先配置好环境变量path路径)之后运行python 二是直接进安装目录 运行tython软件运行.pycharm ...
- Cracking The Coding Interview5.1
//You are given two 32-bit numbers, N and M, and two bit positions, i and j. Write a method to set a ...
- 关于MEX函数的说明
reference:http://www.mathworks.com/help/matlab/ref/mex.html .MEX文件是一种可在matlab环境中调用的C(或fortran)语言衍生程序 ...
- findbugs 安装及使用
1.eclipse安装findbugs插件 Help -> install new softWare 输入 http://findbugs.cs.umd.edu/eclipse 2.使用find ...