我希望任何传入的HTTP请求(不pipe域名)以特定path开始发送到本地服务器。 例如:
location /special/path/ { proxy_pass http://127.0.0.1:8000/; }
如果给定的域名没有匹配的server {}块,Nginx会将请求路由到default_server 。 但是我需要将请求始终路由到本地服务器, 即使find匹配的server {}块也是如此 。
我将如何去做这件事?
奖励:如果有一种方法可以在当前设置了default_server的server {}之外执行此操作,那就太棒了。
我想你可能需要在每台服务器上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包含它们,并且在该上下文中语法无效。
其他人可能有比这更好的方式,但我相信这将起作用。