azure - Azure:将来自不同子域和 URL 的流量路由到不同的后端端口
问题描述
我在 Azure 的同一台机器上的不同端口上托管了多个站点:
contoso.com:8000
contoso.com:8001
contoso.com:8002
contoso.com:8003
和托管在不同机器上的单个站点:
foo.com:8000
foo2.com:8000
我想使用反向代理通过不同的 URL 和不同的子域来解决这些问题;
w1.fabrikam.com/I1 -> contoso.com:8000
w1.fabrikam.com/I2 -> contoso.com:8001
w2.fabrikam.com -> foo.com:8000
w3.fabrikam.com -> foo2.com:8000
有一个与此类似的帖子得到了回答,但仅使用了子域。是否可以在应用程序网关中使用子域以及 URL 规则?
解决方案
要将不同的子域寻址到不同的后端,您可以为每个后端配置多站点侦听器:
w2.fabrikam.com -> foo.com:8000
w3.fabrikam.com -> foo2.com:8000
为此,您可以创建两个后端池,并创建两个多主机侦听器。
您可以参考 https://docs.microsoft.com/en-us/azure/application-gateway/multiple-site-overview 和 https://docs.microsoft.com/en-us/azure/application-gateway/创建多站点门户
要通过不同的 URL 解决这些问题,您可以配置基于路径的路由规则。
w1.fabrikam.com/I1 -> contoso.com:8000
w1.fabrikam.com/I2 -> contoso.com:8001
对于Path-based routing
,选择Add multiple targets to create a path-based rule
。对于Path
,键入/I1/*
或/I2/*
。
对于 HTTP 设置,创建两个 HTTP 设置,选择后端端口8000
或8001
为每个 HTTP 设置。
您可以参考https://docs.microsoft.com/en-us/azure/application-gateway/create-url-route-portal
推荐阅读
- ruby-on-rails - 使用 docker-machine 通过 Docker 在 AWS EC2 中更新 Rails 应用程序的工作流程是什么?
- javascript - WebRTC 有多少个通道以及使用了哪些传输?
- c# - 需要帮助提高 SQL DELETE 性能
- windows - 当您作为修饰键时,我的功能/Fn 键不起作用
- java - 如何在不知道 DPI 的情况下获得以英寸为单位的图像尺寸?
- javascript - 尝试使用间隔更改 React Hooks 中的状态
- javascript - Paypal 付费墙自定义文本 css
- python - 不处理词云停用词
- sql - Redshift 跳过 split_part() 的第一个字符
- javascript - Formik 的表单无法识别 Material UI 组件的文本字段值?