Когда я запускаю веб-приложение в Azure, оно запускается внутри IIS (или за ним, в зависимости от конфигурации). IIS настроен для меня. Заголовок сервера возвращает IIS. Я могу настроить его через файл web.config. Все хорошо. Я просто попытался настроить собственный образ докера в веб-приложении, и, когда я его запустил, заголовок сервера установлен на пустельгу.
Это может означать, что перед докером ничего не запущено, и я не могу его настроить. Это нормально, что мне самому нужно что-то бегать впереди. Мне нравится иметь возможность выбирать свой собственный стек.
Что меня беспокоит, так это то, что я нигде не могу получить положительного подтверждения того, что azure не помещает что-то впереди при запуске пользовательского образа докера, или если они это делают, и не позволяют мне его настраивать.
Кто-нибудь здесь говорит в поддержку по этому поводу или читает какие-то документы, которые могут дать некоторые разъяснения по этому вопросу?
При использовании контейнеров в службе приложений балансировщик нагрузки, включенный в службу, просто перенаправляет трафик на настроенный вами порт. Если вам требуется обратный прокси-сервер, просто создайте образ с вашей конфигурацией, используйте опцию мульти-контейнеров службы приложений и загрузите файл docker-compose.yaml.
Корпорация Майкрософт не публикует подробности того, как работает Служба приложений Azure, поэтому вы не получите однозначного ответа на этот вопрос. Возможно, MS поместит что-то перед Kestrel, особенно при работе с версией докера, но вы не получите подтверждения об этом.
Если вы хотите быть уверены, что ваше приложение имеет адекватную защиту, вам следует подумать о внедрении таких служб, как Azure Front Door или Application Gateway, которые предлагают брандмауэр веб-приложений, кеширование и т. Д. В качестве службы.