nginx 基础配置:多个location转发任意请求或访问静态资源文件

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处 https://blog.csdn.net/tutian2000/article/details/81531513

2018-08-10更新

server {
        #监听的端口
        listen       80;
        #监听的域名
        server_name  localhost;

        #监听带后缀的url
        location ^~\.txt {
            #文件放到/html文件夹下
            root /;
        }
        #监听所有url,没有特殊需求就用这一个location就够了
        #使用通配符只有在没有匹配上其他location的情况下会进入
        location / {
            #去掉了只有url才转发的限制,因为直接访问域名会通不过if从而转发不了请求。

            proxy_pass http://localhost:8080;
        }
    }

附带上匹配规则:这里写图片描述
里面的规则自己尝试一下就明白了

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

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可以添加多个,但是要注意相互之间不要冲突,否则转发多种会请求超时

猜你喜欢

转载自blog.csdn.net/tutian2000/article/details/81531513