Конфигурация Tomcat RemoteIpValve с CDN

У меня Tomcat 8 настроен за IIS 8. Также у меня включена служба CDN.

На хосте RemoteIpValve включен как

<Valve className="org.apache.catalina.valves.RemoteIpValve"         
        remoteIpHeader="x-forwarded-for" 
        proxiesHeader="x-forwarded-by" 
        protocolHeader="x-forwarded-proto"/>

Журнал показывает как

org.apache.catalina.valves.RemoteIpValve.invoke Incoming request /api/service/dealer/getStates with originalRemoteAddr '127.0.0.1', originalRemoteHost='127.0.0.1', originalSecure='false', originalScheme='http' will be seen as newRemoteAddr='121.244.190.83', newRemoteHost='121.244.190.83', newScheme='http', newSecure='false'

Настройка доступа к журналу

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="web.hyundai.co.in_access_log" suffix=".txt"
               pattern="x-forwarded-for : %{x-forwarded-for}i %h %t &quot;%r&quot; %s %b"/>

И в журнале доступа

x-forwarded-for : 121.243.37.18, 121.244.190.83 127.0.0.1 [01/Mar/2017:09:02:52 +0530] "GET /api/service/dealer/getStates HTTP/1.1" 200 436

Теперь Tomcat не получает фактический IP-адрес клиента 121.243.37.18, а выбирает IP-адрес сервера CDN. Я не могу добавить IP-адрес сервера CDN в качестве прокси-сервера, потому что будет много серверов CDN Edge. Как настроить tomcat для получения правильного удаленного IP-адреса

1 ответ

Предоставляет ли CDN заголовок "X-Real-IP"? X-forwarded-for может быть IP-адресом, через который может проходить более одного прокси.

Другие вопросы по тегам