这与域和 URL 映射...等有关。我尝试使用 apache 和反向代理,重写,到目前为止无法让它工作。
设想。
目标客户拥有域 www.customer.com ,希望他的用户使用该站点使用 URL,例如
www.customer.com/a/b/c?blah
我们已经为他实现了软件并在我们的一个 ec2 机器上运行,IP xyz,域 yoyoyyo.provider.com => yoyoyo 是 provider.com 的子域。
因此,对于客户,我帮助他并为 www.customer.com 添加了一条 A 记录,将其映射到 yoyoyo.provider.com
所以我们,我为yoyoyo.provider.com添加了一条A记录=>ec2的ip地址xyz。
到目前为止,一切都很好。
最终,要调用软件,本质上是
http://yoyoyo.provider.com/customer/software/service "+" /a/b/c?blah
=> 完整的网址
现在,我假设的逻辑和流程是这样的
- 用户在浏览器中键入 www.customer.com/a/b/c?blah
- dns 查找 www.customer.com,并将其映射到 yoyoyo.provider.com
- url 变成 yoyoyo.provider.com/a/b/c?blah
- dns 查找 yoyoyo.provider.com => ip 地址 xyz
- url 变成 xyz/a/b/c?blah
- 现在调用到了实际的盒子,找到了 apache 服务器
在 apache 中,我认为我可以将其作为代理通行证或重写规则来完成,这基本上归结为映射/重写(伪代码如下)
^/.* => http://yoyoyo.provider.com/customer/software/service/ $1 ;; 在哪里 $1 evals 是 a/b/c?blah
- 软件被调用。
但是,当然,它不起作用!浏览器得到一个空白页有什么想法吗?