应用程序网关将URL路由到自定义端口

时间:2019-01-29 23:04:50

标签: azure azure-web-sites azure-application-gateway

我们有一个可通过以下设置运行的Application Gateway

Backend 1 : Server A, Server B
Backend 2 : Server C

Listener1 - site.com - Port 8888 HTTPS - Backend 1
Listener2 - site.com - Port 3000 HTTPS - Backend 2 
Listener3 - site.com - Port 10001 HTTPS - Backend 1

当指定了site.com:port时,这可以正确路由,但这对于最终用户要记住包括端口并不理想。

我们要做的是

sub.site.com to map to site.com:8888
sub2.site.com to map to site.com:3000
sub3.site.com to map to site.com:10001

OR

site.com/sub to map to site.com:8888
etc

这将允许用户通过友好的URL(而不是端口号)连接到服务。

将路径设置为/ sub并将HTTP设置作为自定义端口的基于路径的规则是否足够?

任何建议都非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过path-based routing rulesmulti-site侦听器来执行此操作。

对于第一种情况,您需要sub.site.com to map to site.com:8888。您可以创建一个多站点侦听器,然后在此多站点侦听器中使用前端端口 80和主机名 sub.site.com。 HTTP设置应指定端口8888。

第二次,您需要site.com/sub to map to site.com:8888。您可以添加基于路径的规则,设置路径/sub/*并使用端口8888设置后端pool1和HTTP setting1。此外,侦听器应具有前端端口80。

确保侦听器正在侦听端口80,并且HTTP设置具有用于后端网站的自定义端口。如果您将进一步发布网站,建议使用多站点网站。如果要将其用作无状态请求并托管网站,则可以使用基于路径的规则。

答案 1 :(得分:0)

似乎您想通过上述方案实现端到端SSL。

请按照以下步骤操作:

  1. 使用HTTPS端点和端口443创建一个多站点侦听器,并上载证书并提供主机名。您将需要在相同的端口443上创建3个侦听器,并指定主机名。
  2. 创建3个HTTP设置,并确保分别定义后端端口,并为端到端SSL选择HTTPS。基本上,这意味着您的后端服务仍然使用SSL,因此请在HTTP设置上上传.cer证书。
  3. 如果要在单个后端池中对服务器进行分组,则应在所有服务器上运行相同的服务。在这种情况下,请确保后端池中的两个服务器都在端口8888和10001上运行服务。
  4. 使用相应的侦听器和HTTP设置以及后端池创建规则

关于, 姆斯里尼