Hosting many SSL sites on Azure using a wildcard c

2019-04-09 15:32发布

The following application currently runs on a Windows 2008 R2 server that I'm attempting to migrate to Azure:

Part 1

First I have the following ASP.NET MVC site that routes customers based on the first part of the DNS name:

https://customer1.myAzureSite.com

https://customer2.myAzureSite.com

https://customer3.myAzureSite.com

...

https://customerN.myAzureSite.com

Part 2

Then, I also have a different IIS website that is used for enrolling/signing up only

https://enroll.myAzureSite.com

Part 3

This application uses SOA, and there is another site for the businesslayer:

https://BusinessLayer.myAzureSite.com

Work done so far

I'm planning on using the "sites" tag in the config file to set up two sites. I plan on using IIS host headers to catch the "enroll" and "businesslayer" subdomains. I have a certificate with the following subject name *.myAzureSite.com

Question:

How do I properly configure my deployment (from an Azure perspective) so that all host headers go to my MVC application, and only one goes to "enroll", and another to "businesslayer"

Question:

Will this work correctly over SSL?

What comparable configuration needs to be done?

2条回答
淡お忘
2楼-- · 2019-04-09 16:01

I'll start with the easy part, your wildcard SSL certificate should be fine for these sites. You'll just need to make sure that you add a https endpoint to your role and select the appropriate certificate.

From what I can see, you'll need three sites defined in your service definition. First the default one while will be your MVC site. Then one each for your business and enroll sites. Your sites section might look something like this:

 <Sites>
  <Site name="Web">
    <Bindings>
      <Binding name="mvchttp" endpointName="http" />
      <Binding name="mvchttps" endpointName="https" />
    </Bindings>
  </Site>
  <Site name="Enroll" physicalDirectory="\enroll...">
    <Bindings>
      <Binding name="mvchttp" endpointName="http" hostHeader = "enroll.MyAzureSite.Com" />
      <Binding name="mvchttps" endpointName="https" hostHeader = "enroll.MyAzureSite.Com" />
    </Bindings>
  </Site>
  <Site name="BusinessLayer" physicalDirectory="\BusinessLayer...">
    <Bindings>
      <Binding name="mvchttp" endpointName="http" hostHeader = "BusinessLayer.MyAzureSite.Com" />
      <Binding name="mvchttps" endpointName="https" hostHeader = "BusinessLayer.MyAzureSite.Com" />
    </Bindings>
  </Site>
</Sites>
查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-04-09 16:17

It's worth mentioning that deploying multiple sites to a web role has recently been made much easier with the help of the Windows Azure Accelerator for web roles - more info at http://waawebroles.codeplex.com/

查看更多
登录 后发表回答