使用 Nginx / Node.js 反向代理,尽管 txt 文件未在 Nginx 配置的位置块中引用,Nginx 如何提供 robots.txt 服务?

使用 Nginx / Node.js 反向代理,尽管 txt 文件未在 Nginx 配置的位置块中引用,Nginx 如何提供 robots.txt 服务?

在 Chrome 中当我输入https://www.example.com/robots.txt我的robots.txt文件已送达​​,运行良好。我很高兴它能正常工作,但我不知道为什么会这样。

在下面的配置中,我认为我的最后一个locationlocation /是一个万能的块,它将尝试处理每个与上面的块中的正则表达式不匹配的文件请求location。实际上,我使用此块通过我的 node.js / Express 服务器提供文件。

我没有包含一个location ~* \.(txt)$块,因此我以为location /它会自动向robots.txtnode.js 发送请求,但结果却抛出了错误或无法传递文件。令我惊讶的是,这个设置运行正常。为什么会这样?

server {

    include conf.d/listen-443;

    server_name www.example.com;

    root /srv/example/views/public;

    location ~* \.(jpg|png|svg|webp|ico)$ {
    }

    location ~* \.(css)$ {
    }

    location ~* \.(html)$ {
    }

    location ~* \.(js)$ {
    }

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

}

相关内容