У меня есть приложение на основе tomcat и сценарий angular на основе *1033* для извлечения некоторого контента с сервера приложений и отображения его в пользовательском интерфейсе, поэтому у меня есть такой код:
UI (broswers) -> Сервер хоста tomcat -> приложение serevr
теперь мне нужно распечатать все запросы http, сделанные моим angular в логах tomcat с IP-адресом клиента, я сделал ниже изменения в файле конфигурации tomcat
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="combined" resolveHosts="false"/>
Журнал, который я получаю,
10.2.107.13 - - [29/Apr/2020:15:34:16 +0530] "GET /egway/fontawesome-webfont.af7ae505a9eed503f8b8.woff2?v=4.7.0 HTTP/1.1" 304 - "http://10.2.8.4:8080/egway/styles.adcc05581e8dbd8e6115.css" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
Но я не получаю журналы, сделанные с помощью angular http кода, поэтому я попытался проверить журналы приложений, но проблема в том, что я всегда получаю IP-адрес клиента в качестве IP-адреса хоста сервера Tomcat.
Также добавлен этот фильтр в сети. xml, но я все еще не получаю журналы запросов на tomcat
<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestdumper</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
Так что возможно иметь любой из этих
Печать журналов tomcat с моими angular протоколами http-запросов
Сделайте tomcat для пересылки IP-адреса клиента (IP-адреса браузера) как x-forwarder ip на сервер приложений
Я использую версию tomcat: 8.5.51