Hosting many SSL sites on Azure using a wildcard certificate with MVC

喜欢而已 提交于 2019-12-06 05:57: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?


回答1:


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>



回答2:


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/



来源:https://stackoverflow.com/questions/5433469/hosting-many-ssl-sites-on-azure-using-a-wildcard-certificate-with-mvc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!