Я разработчик программного обеспечения и отлаживаю веб-сайт на своем локальном компьютере в IIS 7.5. Недавно у меня возникли проблемы с моей машиной, которые не исчезли, поэтому я сделал резервную копию, отформатировал, повторно установил Windows и мою IDE и снова настроил все резервное копирование.
После публикации моего сайта в IIS теперь меня встречает страница с ошибкой конфигурации, на которой говорится: Невозможно добавить повторяющуюся запись коллекции типа «добавить» с уникальным ключевым атрибутом «name», установленным на «X-Frame-Options».
Если я посмотрю в представлении функций IIS на Custom Headers, я вижу, что у меня есть два настраиваемых заголовка, определенных X-Frame-Options и Strict-Transport-Security.
У меня есть этот настраиваемый заголовок, определенный в моем web.config, и если я его удалю, другой настраиваемый заголовок также вызовет ошибку только в отношении этого заголовка.
После удаления обеих записей сайт загружается, но у меня больше нет ни одного из настраиваемых заголовков.
Теперь есть функция настраиваемых заголовков. У меня нет настраиваемых заголовков.
Определены ли пользовательские заголовки где-то еще? Почему он думает, что у меня есть дубликаты. Эти ключевые значения (например,) определяются в web.config только один раз, без дублирования.
Пользовательские заголовки могут быть добавлены на каждом уровне: сервер / сайт / приложение. Если у вас есть повторяющиеся записи между уровнями, это вызывает проблему. На уровне приложения вы можете удалить заголовок перед добавлением, чтобы позаботиться о дубликатах на более высоких уровнях. Что-то вроде этого:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Frame-Options"/>
<add name="X-Frame-Options" value="Strict-Transport-Security"/>
</customHeaders>
</httpProtocol>
</system.webServer>