nginx 提供错误的网站图标

nginx 提供错误的网站图标

我有一台带有两个网站 A 和 B 的服务器。我的服务器的 nginx 配置非常简单:

server {
    listen 80;

    server_name <url>;

    location / {
        proxy_pass http://localhost:<port>;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

两个网站都运行正常,只有网站 B 除外,它显示了网站 A 的图标。但是,如果我尝试使用 访问网站 B <ip address>:<port>,它就可以正常工作,因此,我很确定这是一个 nginx 配置问题。

我尝试了各种各样的变体:

location /favicon.ico {
    alias ~/<project folder>/favicon.ico;
}

无济于事。

我的服务器在 ubuntu 16.04 上运行,我的网站在 NodeJS 上运行。

更新:

我检查了 nginx 日志,发现了以下内容:

2017/03/07 22:05:58 [错误] 7013#7013: *10 open()“ /root/<project_folder>/favicon.ico”失败(13:权限被拒绝),客户端:37.59.63.164,服务器:<url>,请求:“GET /favicon.ico HTTP/1.1”,主机:“ <url>

所以我猜这是该文件的权限问题。但是,我不明白为什么这个文件会这样,因为它适用于文件夹的其余部分(包括静态文件)以及我的第二个网站的图标。

相关内容