$realpath_root
$realpath_root 变量返回 location 块的根目录的规范文件名,解析任何符号链接。 — NGINX Core (HTTP)
$realpath_root
NGINX Core (HTTP)
说明
$realpath_root 变量在 NGINX 中提供针对某个请求的当前 location 块根目录的绝对文件路径,会解析所有符号链接。当处理请求时,NGINX 会根据配置的文档根(document root)解析请求的 URI,该文档根由 root 或 alias 指令定义。如果指定的根目录是符号链接,NGINX 会将其解析为文件系统上的实际物理位置,确保路径准确并且不会指向有问题的符号链接引用。 此变量在使用符号链接目录来提供文件的配置中尤其有用,因为它保证在安全检查或与文件相关的操作中使用正确的路径。该变量在请求处理阶段设置,当 NGINX 检查处理该请求的配置块时会设定。$realpath_root 的典型值包括像 '/var/www/html' 或 '/usr/share/nginx/html' 这样的路径,具体取决于相应 `server` 或 `location` 上用户定义的配置。
配置示例
location /images/ {
alias /var/www/data/images/;
try_files $uri $uri/ =404;
}
location = /images/logo.png {
internal;
root /var/www;
error_page 404 = @fallback;
}
# Use of $realpath_root
add_header X-Realpath-Root $realpath_root;子系统
http可缓存
否上下文
http, server, location⚠
确保在 root 或 alias 指令中设置的路径有效且存在,否则 $realpath_root 可能无法返回可用的路径。
⚠
在将 $realpath_root 与目录遍历一起使用时要小心,因为在未正确配置的情况下,它会解析出可能绕过安全检查的路径。