我有清除未使用站點的服務。以編程方式刪除受保護站點損壞其他綁定
using (var serverMgr = new ServerManager())
{
var sitename = $"site-{instanceName}";
if (IsWebsiteExists(serverMgr, sitename))
{
logger.Debug($"Deleting instance '{sitename}' from www server...");
var site = serverMgr.Sites.SingleOrDefault(x => x.Name == sitename);
if (site != null)
{
serverMgr.Sites.Remove(site);
}
var appPool = serverMgr.ApplicationPools.SingleOrDefault(x => x.Name == sitename);
if (appPool != null)
{
serverMgr.ApplicationPools.Remove(appPool);
}
serverMgr.CommitChanges();
}
}
以上代碼正常工作,但會損壞其他使用相同證書的網站。其他網站意外地在https綁定中有未選定的證書,並且它們停止工作。這真的很煩人。
爲什麼?是我的代碼中的錯誤,或者我應該改變它?它是IIS的錯誤?
您使用的主機名的過濾在您的綁定?你有沒有嘗試先刪除綁定? – Maciek
是的。每個站點都是一個租戶。每個租戶都有自己的應用程序在子域下工作。每個站點也有自己的apppool。所有網站在一個域下工作,並且我有一個通配符SSL證書。我沒有先刪除綁定,但聽起來很奇怪。 – dariol
綁定在站點級配置,所以如果他們爲你搞砸了,我真的會嘗試擺脫他們。你可以試試這個嗎?停止站點,刪除ssl綁定並刪除站點? – Maciek