「Nginx」- 路径处理、处理请求地址、重写请求地址

  CREATED BY JENKINSBOT

问题描述

该笔记将记录:在 Nginx 中,处理请求地址(URL)的多种方法,比如重定向、重映射地址等等,以及常见问题处理。

解决方案

针对某个地址,返回固定文件

当访问 http://example.com/file.txt 地址时,我们希望返回 foo.txt 文件:

location /robots.txt { alias /home/www/static/any-filename.txt; }

location /robots.txt { root /home/www/static/; }

将特定目录的内容映射到 location 路径中

当访问 http://example.com/tmp-mirror 地址时,显示 /tmp 目录下内容

server {
    ...
    location /tmp-mirror/ {
        alias /tmp;
    }
    ...
}

注意事项,如果这里使用 root /tmp; 指令,则将访问 /tmp/tmp-mirror 目录。

针对不同 Basic Auth 信息,访问不同用户目录

server {
    location / {
        auth_basic            "Please Login";
        auth_basic_user_file  "/etc/nginx/htpasswd";
        root /var/www/sites/mysite.com/http/$remote_user;
    }
}

参考文献

webserver – Configure nginx with multiple locations with different root folders on subdomain – Stack Overflow
Nginx – root versus alias, for serving single files? – Server Fault