사용하지 않는 사이트를 지우는 서비스가 있습니다.보안 사이트를 제거하면 프로그래밍 방식으로 다른 바인딩이 손상됩니다.
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
예. 각 사이트는 1 명의 세입자를위한 것입니다. 각 세입자는 하위 도메인에서 작동하는 자체 응용 프로그램을 가지고 있습니다. 각 사이트에도 자체 apppool이 있습니다. 모든 사이트는 하나의 도메인에서 작동하며 하나의 와일드 카드 SSL 인증서가 있습니다. 바인딩을 먼저 삭제하지는 않지만 이상하게 들립니다. – dariol
바인딩은 사이트 수준에서 구성되므로 실제로 물건을 꺼내면 1면을 없애려고합니다. 이거 좀 해보시겠습니까? 사이트를 중지하고 SSL 바인딩을 삭제하고 사이트를 삭제 하시겠습니까? – Maciek