Munin/Nginx - 尽管使用别名指定的路径不同,但 Nginx 仍将根路径添加到文件前面

Munin/Nginx - 尽管使用别名指定的路径不同,但 Nginx 仍将根路径添加到文件前面

我已经安装了 munin(暂时可以在这里使用:http://brailsford.xyz/munin) 问题是,虽然核心从 /var/cache/munin/www 加载,但没有加载任何静态文件。

我的 nginx 配置中有以下内容:

    location /munin/static/ {
            alias /etc/munin/static/;
            expires modified +1w;
            autoindex on;
    }

    location /munin/ {
            #auth_basic            "Restricted";
            # Create the htpasswd file with the htpasswd tool.
            #auth_basic_user_file  /etc/nginx/htpasswd;

            alias /var/cache/munin/www/;
            expires modified +310s;
    }

AutoIndex 可以证明这一点:该文件夹是可以访问的:https://brailsford.xyz/munin/static/

但是,单击该文件夹中的文件会出现 404 错误,并且 nginx 错误日志显示以下内容:

[error] 22570#0: *50 open() "/data/www/brailsford.xyz/munin/static/style-new.css" failed (2: No such file or directory)

/data/www/brailsford.xyz 是我在总体服务器子句中指定的根。

任何建议将不胜感激 :)

编辑1:

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
            expires 1w;
    }

答案1

对于以 结尾的任何 URI,该location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff)$块优先.css,这意味着nginx尝试使用错误的值root

^~在前缀上使用修饰符location,使其优先于任何正则表达式位置。

例如:

location ^~ /munin/static/ { 
    ...
}

这假设该位置没有任何特殊内容,例如.php文件。

这个文件了解详情。

相关内容