我的网站托管为Azure WebSite,我需要允许用户创建自己的子域 我已经使用DNS和CNAME选项在本地计算机上实现了这一点,但我无法在Azure中执行此操作。当我尝试为网站添加Azure主机名时,我收到错误,主机名必须以' .azurewebsites.net '结尾。
这是我的代码:
var client = new WebSiteManagementClient(new CertificateCloudCredentials(ConfigurationManager.AppSettings["AzureSubscriptionId"],
new X509Certificate2(Path.Combine(AppDomain.CurrentDomain.RelativeSearchPath, "{certificate}"), "{password}")));
var configuration = client.WebSites.Get(webSpaceName, webSiteName, new WebSiteGetParameters());
if (configuration.StatusCode != HttpStatusCode.OK)
throw new Exception("AzureGet: " + subdomain);
configuration.WebSite.HostNames.Add(hostName);
var response = client.WebSites.Update(webSpaceName, webSiteName, new WebSiteUpdateParameters());
是否还有其他方法可以添加自定义HostName,例如' sub.mydomain.net '?
答案 0 :(得分:2)
您可以为您的网站使用通配符自定义域名,然后通过检查传入请求的标头(主机或X-Forwarded-Host)来检查应用程序代码中的主机名。
即。您的域名会将* .mydomain.net指向您的网络应用程序,然后您的数据库会跟踪用户注册的域名,然后您的网络应用程序会进行路由。