Привет, моя новая проблема заключается в следующем: у меня есть веб-приложение, работающее на Tomcat 6.0.x, оно находится за обратным прокси-сервером Apache HTTPD, есть другие (http://bla.com/ограничено/stuff/...), в то время как пользователи (которые подключаются с интернет-стороны обратного прокси) и другие компьютеры не могут ссылаться на эти веб-службы методы, предпочтительно даже не знать, что они существуют.Ограничение доступа к определенным URL-адресам в webapp, запущенном на Tomcat (6.0.x)
- Ну, я знаю, что я мог бы использовать RemoteAddrFilter и фильтровать IP, и, хотя это пародия-возможности это может быть «достаточно близко», но, к сожалению, я застрял с версии 6 Tomcat.
- Если бы у меня была полная свобода, я мог бы настроить эту службу на другом порту, а затем просто использовать iptables для ее ограничения, но, к сожалению, это должен быть тот же экземпляр Tomcat и того же веб-приложения, и я не знаком с тем, как ограничить разъем для определенных областей в веб-приложении.
- Приложение управляет собственной системой безопасности, которая не может использоваться для аутентификации «вызывающей машины» по «историческим» причинам, в которой сказано, что создание нескольких ограничений безопасности прекрасен, но specification здесь говорит, что можно иметь только один элемент login-config, поэтому даже если я напишу другое ограничение для ограниченных URL-адресов, я не смогу заблокировать его, требуя, например, сертификата пользователя (таким образом, идентифицируя вызывающую машину), потому что у меня уже есть login-config.
Это скорее вопрос «как это сделать лучше», а не «Я не знаю, как это сделать», потому что есть много хакерских способов настроить это, но мы не хотим проскальзывать теперь мы темной стороной?
Должен сказать, что я попытался исследовать предмет, но я не нашел каких-либо очевидных решений, и все же, если бы я пропустил что-то элегантное и очевидное, я буду более счастлив услышать об этом (нетривиальные решения тоже очень приветствуются :)), так что спасибо за любые идеи.
Предположим, что у меня нет полного контроля над сервером обратного прокси-сервера, и я не очень-то доволен безопасностью «аутсорсинга» для других приложений (например, идея iptables), не говоря уже о других серверах. Это предложение появилось, но нам опять это не нравится ... спасибо в любом случае :) – Scis
В этом случае подход 'RemoteAddrValve', вероятно, будет лучшим, что вы можете сделать (re ваша точка 1 это _is_ доступна в Tomcat 6 а также 7) –
http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter - это документация Tomcat для «RemoteAddrValve» в Tomcat 6. –