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

我希望任何传入的HTTP请求(不pipe域名)以特定path开始发送到本地服务器。 例如:

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

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

我将如何去做这件事?

奖励:如果有一种方法可以在当前设置了default_serverserver {}之外执行此操作,那就太棒了。

我想你可能需要在每台服务器上configuration一个合适的块。 你可以使用include来做到这一点,而不是复制和粘贴。 这应该在默认服务器上工作。

所以在每个服务器块使用这样的东西

  include /etc/nginx/fragments/path.conf 

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

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

请注意,您不应该将它放在启用了网站的目录中,因为nginx.conf包含它们,并且在该上下文中语法无效。

其他人可能有比这更好的方式,但我相信这将起作用。