如何添加适用于所有传入请求的位置块?

如何添加适用于所有传入请求的位置块?

我希望任何以特定路径开头的传入 HTTP 请求(无论域名是什么)都发送到本地服务器。例如:

location /special/path/ {
    proxy_pass http://127.0.0.1:8000/;
}

server {}如果给定域名没有匹配的块,Nginx 会将请求路由到default_server。但我需要请求总是被路由到本地服务器,即使server {}找到匹配的块

我该如何处理这个问题?

奖励:如果有一种方法可以在server {}当前设置之外做到这一点default_server,那就太棒了。

答案1

我认为你可能必须在每个服务器中配置一个合适的块。你可以使用包含而不是复制和粘贴来执行此操作。这应该在默认服务器中有效。

因此在每个服务器块中使用类似这样的内容

 include /etc/nginx/fragments/path.conf

在 /etc/nginx/fragments/path.conf 中

location /special/path/ {
  proxy_pass http://127.0.0.1:8000/;
}

请注意,您不应将其放在 sites-enabled 目录中,因为 nginx.conf 包含它们,并且在该上下文中它是无效的语法。

其他人可能有比这更好的方法,但我相信这会有效。

相关内容