注意:“VirtualHost”是一个Apache术语。 NGINX没有虚拟主机,它有“服务器块”。 (https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/)。
我知道基于ip和基于名称的服务器块,但是否可以使用基于URL的服务器块?换句话说,我希望http://example.com/foo
和http://example.com/bar
来自完全独立的根。如果名称不同http://example1.com
和http://example2.com
,那么使用基于名称的服务器块解决这个问题将是一个微不足道的问题,但由于名称相同(example.com
)且只有路径部分URL是不同的... nginx可以为这些类型的URL支持单独的服务器块吗?
答案 0 :(得分:0)
请参阅https://nginx.org/en/docs/http/request_processing.html
似乎唯一可用的选项是:IP地址,端口,主机,如果这些都不匹配,那么它将服务于默认服务器。因此,鉴于两种情况下的名称和端口相同,唯一可能的解决方案是将代理服务器放在nginx前面,并让代理服务器使用不同的IP或端口分发到后端nginx服务器。