服务架构 URL 路由
service fabric URL routing
我正在使用 Azure 负载均衡器和 Azure 服务结构来托管多个自托管 Web 应用程序,我想创建一个允许我根据用户 URL 请求进行路由的规则。
例如,如果用户导航到:
http:// domain.com/Site1
那么规则将路由到:
http:// domain.com**:8181**/Site1
集群内
如果用户导航到:
http:// domain.com/Site2
那么规则将路由到:
http:// domain.com**:8282**/Site2
集群内
Azure 服务 fabric/load 平衡器可以做到这一点吗?
Azure 负载均衡器仅将它在一个端口上接收到的流量转发到另一个端口(可以是同一端口或不同的内部端口)上的集群中的节点。它在第 4 层(TCP、UDP)上运行,因此它对 HTTP 或 URLs 一无所知(尽管它确实允许 HTTP 探测)。
以下是多个网站的几个选项:
如果您希望您的网站在内部托管在不同的端口(8181 和 8282)上,那么您将需要一些其他的东西来做 URL 路由。 Azure 流量管理器或 Azure 应用程序网关是 运行 集群外部的可能选项。您的 Azure 负载均衡器需要为每个网站打开一个端口,但这样做的好处是您可以 运行 您的网站在专用节点上,并且 ALB 会根据端口自动将流量路由到适当的节点打开。
或者,您可以在集群中设置自己的无状态路由服务 运行。
或者您可以完全跳过路由,只在端口 80/443 上托管您的所有网站。只要您使用的是基于 http.sys 的网络主机,包括 Katana、ASP.NET Core 1 WebListener 或您在 HttpListener 上构建的任何东西,您就可以为所有网站使用相同的端口,并让根据 URL 路径或主机名的底层 http 服务器路由,两者均受支持。
我正在使用 Azure 负载均衡器和 Azure 服务结构来托管多个自托管 Web 应用程序,我想创建一个允许我根据用户 URL 请求进行路由的规则。
例如,如果用户导航到:
http:// domain.com/Site1
那么规则将路由到:
http:// domain.com**:8181**/Site1
集群内
如果用户导航到:
http:// domain.com/Site2
那么规则将路由到:
http:// domain.com**:8282**/Site2
集群内
Azure 服务 fabric/load 平衡器可以做到这一点吗?
Azure 负载均衡器仅将它在一个端口上接收到的流量转发到另一个端口(可以是同一端口或不同的内部端口)上的集群中的节点。它在第 4 层(TCP、UDP)上运行,因此它对 HTTP 或 URLs 一无所知(尽管它确实允许 HTTP 探测)。
以下是多个网站的几个选项:
如果您希望您的网站在内部托管在不同的端口(8181 和 8282)上,那么您将需要一些其他的东西来做 URL 路由。 Azure 流量管理器或 Azure 应用程序网关是 运行 集群外部的可能选项。您的 Azure 负载均衡器需要为每个网站打开一个端口,但这样做的好处是您可以 运行 您的网站在专用节点上,并且 ALB 会根据端口自动将流量路由到适当的节点打开。
或者,您可以在集群中设置自己的无状态路由服务 运行。
或者您可以完全跳过路由,只在端口 80/443 上托管您的所有网站。只要您使用的是基于 http.sys 的网络主机,包括 Katana、ASP.NET Core 1 WebListener 或您在 HttpListener 上构建的任何东西,您就可以为所有网站使用相同的端口,并让根据 URL 路径或主机名的底层 http 服务器路由,两者均受支持。