【发布时间】:2017-04-21 08:01:55
【问题描述】:
我正在尝试解决 2.4 版 apache http 服务器上的内部 ProxyPass 设置问题。否则一切正常,只是我无法解决这个 ProxyPass 问题:
我在单个系统上运行多个基于名称的虚拟主机,example.org 作为默认主机,所有主机在端口 443 上使用https 协议并带有有效(签名)证书:
- example.org
- host1.example.org
- host2.example.org
对于一种单一类型的请求,我想将内部 ProxyPass 规则设置为 example.org。
https://host1.example.org/_-_-_/bar => https://example.org/foo/bar
不需要 ProxyPassReverse,因为不返回任何结果。 (我也试过了,但这没有任何区别):
这是主机host1.example.org配置的一部分的规则集:
SSLProxyEngine On
ProxyRequests Off
ProxyVia Off
ProxyPass "/_-_-_/bar" "https://example.org/foo/bar"
代理确实工作,它代理请求。但问题是它没有请求正确的主机!所以不是example.org,而是最初请求的主机host1.example.org,所以它自己请求。我可以在同一个访问日志文件中清楚地看到 两个 请求,而 example.org 的访问日志保持不变。显然,该行为会导致 http 状态 404。这在客户端也显示为主机 host1.example.org 生成的错误消息(很好),但显示了内部路径 /foo/bar(不是很好) !所以我的问题显然是:
要进行哪些更改以使所需的虚拟主机在内部处理代理请求?
【问题讨论】:
-
您好 .. 如果您查看 this room 并阅读我的 cmets,我将不胜感激。
标签: apache https proxypass virtual-hosts