Я запускаю Tomcat за NGINX SSL. Может ли кто-нибудь сказать мне, как лучше всего настроить tomcat server.xml?
Стоит ли добавить свойства:
< secure="true"
proxyName="localhost"
proxyPort="443"
scheme="https" >
к моему разъему в Tomcat ИЛИ
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="127.0.[0-1].1"
remoteIpHeader="x-forwarded-for"
requestAttributesEnabled="true"
protocolHeader="x-forwarded-proto"
protocolHeaderHttpsValue="https" />
к моему <engine>
Какая настройка лучше?
Если веб-приложению в Tomcat нужно просто сказать, что оно недоступно для клиентов через значения, используемые прокси-сервером для установления соединения с Tomcat, т.е. грамм. LOCALHOST: 8080, но через HOSTNAME: 443, тогда будет достаточно первого примера (с правильным именем хоста SSL) [1].
В этом случае Tomcat не знает, какой клиент фактически запрашивает, журнал доступа будет содержать только «клиентский» IP-адрес прокси-сервера. Если этого недостаточно для устранения неполадок или авторизации с помощью RemoteAddrValve [2], это причина также использовать вторую конфигурацию.
Обратите внимание, что заголовки также должны пересылаться соответствующим образом обратным прокси [3].
Таким образом, каждая из настроек нацелена на что-то свое.