
Я пытаюсь работать над ошибкой веб-сайта, которая на данный момент проявляется только в рабочей среде. Поскольку я не могу отключить эту среду, я пытаюсь создать копию, которая будет максимально близка к ней. Сайт работает на базе Kentico 11, работает на Windows Server 2019 Datacenter на экземпляре Amazon EC2 t2, поддерживаемом экземпляром RDS SQL Server Web Edition. Чтобы создать тестовую среду, я делаю резервную копию базы данных и восстанавливаю ее в другой базе данных на экземпляре, а также создаю AMI EC2 и использую его для запуска нового экземпляра EC2.
Этот процесс работал десятки раз в прошлом, но в этот раз, а я сделал это уже четыре раза сегодня, веб-сайт на новом экземпляре никогда не вернет ничего, кроме общего статуса 404 (то есть минимальной страницы 404, возвращаемой самим IIS, а не Kentico). Как ни странно, эти запросы к копии не регистрируются в его журнале запросов IIS. Я не вижу никаких различий между производственным экземпляром и копией, за исключением таких деталей, как IP-адрес и строка подключения к базе данных, и я не могу представить себе никаких причин, по которым может быть какая-либо разница; я создал AMI всего за несколько минут до запуска нового экземпляра. Я потратил целый день на повторные попытки и гугл, пока мои пальцы не онемели... Есть ли у кого-нибудь какие-либо идеи или предложения относительно того, почему копия не работает так, как ожидалось, или как ее заставить работать?
EDIT: Интересно, что же отвечает на HTTP-запросы, если не IIS, я взглянул на заголовок ответа, который включает в себя следующее: Server: Microsoft-HTTPAPI/2.0
. Я нашел это:https://docs.microsoft.com/en-us/windows/win32/http/http-api-start-pageчто на самом деле только усугубляет тайну. Что и как попадает в IIS? И снова, поскольку этот экземпляр запускается из AMI на основе работающего сайта, как произошло это изменение?
EDIT: Я обновил заголовок для большей ясности.
решение1
После некоторых раздумий снетстатисписок заданийи определив, чтоСистемапроцесс был тем, что отвечал на запросы на портах 80 и 443, у меня возникла мысль, которую я должен был придумать раньше, и я посмотрел, что происходит при выполнениилокальный хостзапрос на производственном сервере, который копируется. К моему удивлению, это было то же самое: 404, возвращенный чем-то, идентифицирующим себя как Microsoft-HTTPAPI/2.0
...КоторыйокончательноМне пришла в голову мысль, что это может быть связано с именем хоста в привязке порта IIS.
Конечно же, когда я отредактировал эти привязки так, чтобы они соответствовали DNS-имени хоста копии, а не имени копируемого сервера, запросы стали обрабатываться IIS, и все вернулось на круги своя, что касается веб-службы.
Еще одна поучительная история о разработчике с небольшим опытом администрирования, которому пришлось попытаться разгадать административную тайну.