nginx 多个location转发任意请求或访问静态资源文件的实现
这篇文章主要介绍了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; } } |
附带上匹配规则:
里面的规则自己尝试一下就明白了
以下 为原文↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
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转发任意请求或访问静态资源文件的实现的文章就介绍到这了