服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - nginx 多个location转发任意请求或访问静态资源文件的实现

nginx 多个location转发任意请求或访问静态资源文件的实现

2020-12-29 21:39懵懂学子 Nginx

这篇文章主要介绍了nginx 多个location转发任意请求或访问静态资源文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文主要介绍了nginx 多个location转发任意请求或访问静态资源文件的实现,分享给大家,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
 #监听的端口
    listen    80;
 #监听的域名
    server_name localhost;
 
 #监听带后缀的url
 location ^~\.txt {
  #文件放到/html文件夹下
      root /;
    }
 #监听所有url,没有特殊需求就用这一个location就够了
 #使用通配符只有在没有匹配上其他location的情况下会进入
    location / {
  #去掉了只有url才转发的限制,因为直接访问域名会通不过if从而转发不了请求。
  
  proxy_pass http://localhost:8080;
    }
  }

附带上匹配规则:

nginx 多个location转发任意请求或访问静态资源文件的实现

里面的规则自己尝试一下就明白了

以下 为原文↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server {
 #监听的端口
    listen    80;
 #监听的域名
    server_name localhost;
 
 #监听带后缀的url
 location ^~\.txt {
  #文件放到/html文件夹下
      root /;
    }
 #监听所有url,没有特殊需求就用这一个location就够了
    location / {
  #没有后缀的请求才会转发 是为了配合上一个location能访问到资源文件而不是转发所有请求。没有特殊需求就不要判断直接proxy_pass到请求
  if (!-e $request_filename){
  proxy_pass http://localhost:8080;
  break;
  }
    }
  }

location可以添加多个,但是要注意相互之间不要冲突,否则转发多种会请求超时

到此这篇关于nginx 多个location转发任意请求或访问静态资源文件的实现的文章就介绍到这了,更多相关nginx  location转发任意请求内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/tutian2000/article/details/81531513

延伸 · 阅读

精彩推荐