Azure云服务映射端口

时间:2017-01-30 18:34:00

标签: asp.net asp.net-mvc azure azure-cloud-services

我正在使用Azure Cloud Service,它包含两个角色:ASP.net MVC和ASP.net Web API项目。我的MVC项目使用端口80(用于标准http协议)和443(用于https)。我的API项目使用8080(http)和8443(https)。

我想要做的是将8080,8443和443分配给我的API项目,并将我的MVC项目分配给80,并为https分配一些其他端口(例如8444)。

我所做的是在角色属性下编辑端点(如上所述),并且它有效。

令我感到不安的是,当我在浏览器中输入https://mypage.com时,我被带到了我的API页面,而不是我的MVC网页。 那么我该如何解决这个问题(这意味着我希望我的MVC和API项目都可以通过端口443访问)我的API项目有https://api.mypage.com可以解决这个问题吗?如果是,我如何配置我的DNS(在GoDaddy上)和Cloud Service以支持https://api.mypage.com

1 个答案:

答案 0 :(得分:0)

Application Gateway可以为您做路由 -

您将为外部世界提供80和443 / TCP,然后将基于URL /子域的内容映射到自定义端口,返回到您的WebRoles。

E.g。

    example.com ---> 8080/TCP and 8443/TCP
api.example.com ---> 8081/TCP and 8444/TCP

更多相关信息: https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-multi-site-overview

一对varnishnginx框几乎会产生相同的结果,并且可以在此过程中缓存一些内容。不足之处在于你必须在IaaS中做到这一点,这与一个更文明时代的优雅武器相反......

清漆的示例配置:Configure multiple sites with Varnish

修改

实际上你可以在使用Docker容器的App Service上的PaaS中执行此操作: https://docs.microsoft.com/en-us/azure/app-service-web/app-service-linux-using-custom-docker-image

您知道是什么,也许是时候将这些服务作为两个不同的Web应用程序移动到App Service,每个Web应用程序都在自己的子域中进行监听。如果您不需要提升,并且don't do messy things喜欢写入注册表,那么您应该没问题,您可以立即降低机车的复杂性。

这是一个活着的疯狂时刻。