diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 4cde88c0..b991bac6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -235,7 +235,7 @@ namespace WebsitePanel.EnterpriseServer StringDictionary webSettings = ServerController.GetServiceSettings(serviceId); int addressId = Utils.ParseInt(webSettings["SharedIP"], 0); - + bool dedicatedIp = false; if (packageAddressId != 0) { // dedicated IP @@ -243,6 +243,7 @@ namespace WebsitePanel.EnterpriseServer if (packageIp != null) { addressId = packageIp.AddressID; + dedicatedIp = true; } } @@ -270,6 +271,12 @@ namespace WebsitePanel.EnterpriseServer return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; } + if (dedicatedIp) + { + // DEDICATED IP + bindings.Add(new ServerBinding(ipAddr, "80", "")); + } + UserInfo user = PackageController.GetPackageOwner(packageId); UserSettings webPolicy = UserController.GetUserSettings(user.UserId, UserSettings.WEB_POLICY); @@ -640,7 +647,6 @@ namespace WebsitePanel.EnterpriseServer if (addressId != 0) ServerController.AddItemIPAddress(siteItemId, addressId); - DomainInfo ZoneInfo = ServerController.GetDomain(domain.ZoneName); AddWebSitePointer(siteItemId, @@ -656,6 +662,27 @@ namespace WebsitePanel.EnterpriseServer , ZoneInfo.DomainId, true, true, true); } + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebSite site = web.GetSite(siteItem.SiteId); + + List newBindings = new List(); + foreach (ServerBinding b in site.Bindings) + { + newBindings.Add(b); + } + + // load web site IP address + IPAddressInfo ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId); + string ipAddr = "*"; + if (ip != null) + ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP; + + newBindings.Add(new ServerBinding(ipAddr, "80", "")); + + web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), false); + return 0; } catch (Exception ex) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config index 3766094f..b78330c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config @@ -5,11 +5,11 @@ - + - +