Мне нужно защитить определенную папку в моем веб-приложении от доступа извне определенного диапазона IP-адресов.
С участием Советы O'Reilly's Tomcat Я подумал, что:
<Context path="/path/to/secret_files" ...>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1" deny=""/>
</Context>
Есть способ пойти?
Я не так сильно увлекаюсь настройкой tomcat, поэтому меня немного ослепляет, где разместить эти ограничения. Могу ли я поместить это в свой web.xml или это то, что мне нужно добавить в какой-то общий файл конфигурации tomcat?
Если мы хотим ограничить IP-адреса независимо от пути контекста, мы должны добавить следующую строку в server.xml (имя движка)
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>
Это отклонит все IP-адреса, кроме 127.0.0.1
Если вы хотите получить несколько IP-адресов, используйте следующие
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,10.10.12.13,10.132.12"/>
И если вы хотите запретить только один IP-адрес и разрешить всем остальным IP-адресам использовать следующие
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="127.0.0.1"/>
Для нескольких IP-адресов
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="127.0.0.1,10.10.12.13,10.132.12"/>
Этот ТАК вопрос решил мою проблему.