我遇到了以下情况。 客户端在端口80上提供soap服务。他们的客户端访问服务的准确性不得而知,但他们假设他们的脚本中有uris硬编码。 目前我们正在为我的客户开发一个新的网站,它将在当前的域名上运行。 肥皂服务将被移动到一个子域。 由于他们不想打扰他们的客户与肥皂服务的域更改,我被要求将所有肥皂请求转发到子域上的服务器。
我现在的问题是,这可以做,如何? 我正在Ubuntu 14.04上运行一个Nginxnetworking服务器。 我们能不能把这个端点https://www.domain.nl/services/soap转发到https://subdomain.domain.nl/services/soap,还是我们需要使用iptables呢? 在iptables的情况下,我们如何能够从常规的web请求中分离肥皂请求?
你不想301
客户到新的合适的位置,因为这在技术上是一个突破性的变化。 现有的客户可能不知道如何遵循301
redirect,或者如果响应不是200
而是返回错误。 你正在改变一个基本的假设,所以结果是不可预测和风险的。
更好的方法是创build一个对客户端不可见的反向代理。 您将检查URL并在^/services/soap
上匹配代理请求到新的SOAP端点。 NGINX以及HAProxy或Apache都有很多有据可查的方法。