Share via


DNS Zones for SharePoint Apps?

 

1) I am developing SharePoint hosted apps; do I need to create multiple DNS zones? One for each environment, e.g. dev.contosoapps.com, qa.contosoapps.com

For provider hosted apps, NO, you do not need to have multiple DNS zones. This can be managed with virtual sub directories below the root domain. In other words, you could have a single host and sub directories for each environment, and subdirectories under each environment for each app

E.g.:

· https://app.contoso.com/prod

· https://app.contoso.com/prod/fooApp

· https://app.contoso.com/dev

· https://app.contoso.com/dev/fooApp

· https://app.contoso.com/stage

· https://app.contoso.com/stage/fooApp

2) What about SharePoint hosted apps?

For SharePoint hosted apps you will need a different zone for each SharePoint farm.

3) OK, let me kick this a notch up. So for my production, with multiple web applications, I decide to use provider hosted apps along with the app webs (hybrid). Now, the app web will require four domains as there are four web applications. Can I share a single domain across multiple web applications?

The short answer is yes.

One of the feature updates of the March 2013 Public Update for SharePoint 2013 enables you to use multiple app domains in SharePoint 2013 environments with alternate access mapping or host-header web application configurations.

As per the article at Enable apps in AAM or host-header environments for SharePoint 2013,

Apps domains can be shared across web applications if the zone, application pool identity, and authentication schemes match. For example suppose that webappA is configured to use the Default zone and webappB is also configured to use the Default zone. In addition, both web applications use the same application pool identity, and both web applications use NTLM. In this scenario, the web applications can share a single app domain.

However, you will need a way to update the app to four catalogs. You could probably automate this process. At the end of the day, the app catalog is a document library, so write an app that deploys apps to multiple web applications.