我们使用 Apache 作为 Web 应用服务器的前端。Apache 处理所有请求,并根据请求 URL 将这些请求转发到正确的应用服务器。
我们希望保留单个 VirtualHost 的现有位置映射,但将所有其他请求转发到其中一个应用服务器进行进一步处理,即我们希望 Apache 转发所有不是将任何现有的位置映射与单个服务器匹配。我尝试了以下方法
<VirtualHost *:443>
# Global settings for virtual host
...
# New "fallback" Location mapping
<Location />
...
</Location>
# Existing Location mappings
<Location /portal>
...
</Location>
...
</VirtualHost>
但随后 Apache 转发全部请求到后备服务器。有没有办法正确指定这样的“后备”位置,同时仍允许现有映射正常运行?
答案1
Apache 以自然的方式读取其配置文件。
尝试将你的后备方案放在 httpd.conf 的底部
答案2
我不确定这是否有效,但您可以尝试将 404 错误文档指向后备位置。
ErrorDocument 404 /
答案3
我认为你可以把你的指令放在指令之外
注意:我现在无法访问我的 Apache 服务器进行测试1
<VirtualHost *:443>
# Global settings for virtual host
...
# New "fallback" Location mapping
...
# Existing Location mappings
<Location /portal>
...
</Location>
# Other Settings
...
</VirtualHost>