IIS 10 на Windows Server 2016. Все текущие исправления установлены. Недавнее сканирование PCI утверждает, что внутренний IP-адрес сервера просачивается в заголовки HTTP. К сожалению, эта сканирующая компания не сообщает вам подробностей о том, как они пришли к такому выводу, чтобы я мог его воспроизвести. Все мои исследования показывают, что это проблема не в IIS 10, а только в более старых версиях IIS. У меня есть правила перезаписи URL, которые используют перенаправление для обеспечения того, чтобы соединения были https, и что у них есть www в имени хоста.
<rule name="HTTPS Redirect">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Redirect to www">
<match url="(.*)" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
Что вызывает утечку внутреннего IP-адреса на сервере и как это предотвратить? Я пробовал использовать curl -lkL example.com
но я не вижу IP-адреса ни в одном из возвращенных заголовков.
Это может быть раскрыто через заголовок ответа HTTP. Проверьте общую информацию о заголовке в инструменте разработчика браузера. Прилагается снимок экрана из локального приложения, поэтому он просто показывает локальный адрес. Возможно, здесь может помочь перезапись серверной переменной перед отправкой ответа.