指令介绍

Syntax: try_files file ... uri;
try_files file ... =code;
Default: —
Context: server, location

  依次试图访问多个URI对应得文件(由root或者alias指令指定),当文件存在时直接返回内容,如果所有文件不存在,则按最后一个URL结果或者code返回

server {
server_name try_files.com;
root html/;
default_type text/plain;
location /first {
try_files /system/maintenance.html #找磁盘文件;找不到磁盘文件是
$uri $uri/index.html $uri.html#找$URI也就是去找html/first有没有这个文件;匹配不到是;找first/下面有没index.html;
@lasturi; #最后匹配这个
}
location @lasturi {
return 200 'lasturi!\n';
}
location /second {
try_files $uri $uri/index.html $uri.html =404;
}
}

  测试

[root@python vhast]# curl try_files.com/first
lasturi!

  mirrors 模块流量拷贝

功能:处理请求时生成子请求对子请求的返回结果不做处理

指令

Syntax: mirror uri | off;  #uri表示将请求复制到另一个地址
Default: mirror off;
Context: http, server, location
Syntax: mirror_request_body on | off; #mo
Default: mirror_request_body on;
Context: http, server, location

  实现

[root@python vhast]# cat mirrors.conf
server {
server_name mirrors.com;
error_log logs/mirrors_error.log debug;
location /{
mirror /mirror;
mirror_request_body off;
}
location = /mirror {
internal; #指定为内部请求
proxy_pass http://127.0.0.1:10020$request_uri;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
} [root@python vhast]# cat test-2.conf
server {
listen 10020;
location / {
return 200 "mirror response!";
}
}

  测试

[root@python vhast]# echo "mirror" > ../../html/mirror.txt
[root@python vhast]# curl mirrors.com/mirror.txt
mirror
[root@python vhast]# tail ../../logs/access.log
127.0.0.1 - - [10/Jul/2019:11:56:22 +0800] "GET / HTTP/1.0" 200 16 "-" "curl/7.29.0"
192.168.183.4 - - [10/Jul/2019:11:56:22 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0"
127.0.0.1 - - [10/Jul/2019:11:59:07 +0800] "GET /mirror.txt HTTP/1.0" 200 16 "-" "curl/7.29.0"
192.168.183.4 - - [10/Jul/2019:11:59:07 +0800] "GET /mirror.txt HTTP/1.1" 200 7 "-" "curl/7.29.0"
127.0.0.1 - - [10/Jul/2019:11:59:08 +0800] "GET /mirror.txt HTTP/1.0" 200 16 "-" "curl/7.29.0"
192.168.183.4 - - [10/Jul/2019:11:59:08 +0800] "GET /mirror.txt HTTP/1.1" 200 7 "-" "curl/7.29.0"
127.0.0.1 - - [10/Jul/2019:11:59:09 +0800] "GET /mirror.txt HTTP/1.0" 200 16 "-" "curl/7.29.0"
192.168.183.4 - - [10/Jul/2019:11:59:09 +0800] "GET /mirror.txt HTTP/1.1" 200 7 "-" "curl/7.29.0"
127.0.0.1 - - [10/Jul/2019:12:30:55 +0800] "GET /mirror.txt HTTP/1.0" 200 16 "-" "curl/7.29.0"
192.168.183.4 - - [10/Jul/2019:12:30:55 +0800] "GET /mirror.txt HTTP/1.1" 200 7 "-" "curl/7.29.0"

  

最新文章

  1. 【67测试20161116】【数论】【DP】【思维】
  2. GDB中汇编调试
  3. 【转】关于Class.forName(“com.mysql.jdbc.Driver”)
  4. Ubuntu下SVN配置
  5. mac OS X操作--快捷键
  6. poj 1789 Truck History
  7. 11gR2数据库日志报错:Fatal NI connect error 12170、
  8. 基于jQuery标题有打字效果的焦点图
  9. Apache Spark Streaming的优点
  10. uvalive 5760 Alice and Bob (组合游戏,dp)
  11. xxx.java: Recompile with -Xlint:unchecked for details.
  12. 以程序的方式操纵NTFS的文件权限(陈皓)
  13. requests中自定义adapter
  14. 【NET Core】Nuget包发布流程
  15. 使用sklearn估计器构建K-Means聚类模型
  16. 第二章 函数和window对象
  17. Vue.js常用指令:v-bind
  18. CocoaPod 问题(I)
  19. 使用scrapy进行12306车票查询
  20. Oracle函数如何把符串装换为小写的格式

热门文章

  1. Drawer 侧边栏、以及侧边栏内 容布局
  2. idea2019.2激活至2089年!
  3. sqlmap+burpsuit
  4. Linux Mysql8每天定时备份数据库并自动删除7天之前的备份
  5. http的长连接和短连接(史上最通俗!)
  6. 算法复习 : 插入排序原理,记忆,时间复杂度 (7行java实现)
  7. Java笔记 02-LinkedList
  8. Windows配置本地Hadoop运行环境
  9. 电力电子实验 LLC半桥谐振变换器 记录
  10. Python:列表类型