Сделать Tomcat 9 игнорировать Http Основная информация
У меня есть настройки с IIS + Tomcat (с использованием соединителя Tomcat между ними). сайт tomcat полностью незащищен при локальном доступе ( http://localhost:8080/), однако для IIS требуется базовая аутентификация. Настройка работает нормально, за исключением того, что Tomcat, похоже, запутывается, когда видит заголовок http Basic Authorization.
Простой пример:
- доступ http://localhost:8080/mysite => нормально
- доступ http://localhost:8080/mysite (с заголовком авторизации HTTP: базовый....) => 401
Я хотел бы добиться того, чтобы IIS отвечал за безопасность, а Tomcat должен игнорировать заголовок авторизации, который будет передаваться из IIS в Tomcat. Есть идеи, как мне этого добиться?
1 ответ
Хорошо, теперь у меня есть полностью рабочее решение, в котором IIS обрабатывает все аутентификации. "Корневой" сайт в IIS не защищен, но все, что отправляется Tomcat через соединитель, требует проверки подлинности. Все, что вам нужно сделать, это защитить виртуальный каталог jakarta, созданный во время установки коннектора Tomcat, например:
<location path="jakarta">
<system.web>
<authorization>
<deny users="?" /> <!-- deny anonymous access -->
</authorization>
</system.web>
</location>
Если вы хотите выполнить авторизацию в Tomcat на основе основного набора, установленного IIS, посмотрите атрибуты tomcatAuthentication и tomcatAuthorization, найденные в элементе Connector в вашем Tomcats server.xml, например: