Я пытаюсь установить JIRA для работы за прокси-сервером Pound, который выполняет завершение / «ускорение» SSL. К сожалению, похоже, что JIRA (Coyote) перенаправляется на HTTPS при доступе:
C:\Users\Josh>openssl s_client -connect www:443
...
---
GET /support HTTP/1.1
Host: www
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Location: http://www/support/
Transfer-Encoding: chunked
Date: Sat, 21 Jul 2012 16:05:03 GMT
0
Я не могу понять, как это остановить ... Это моя конфигурация фунта:
ignorecase 1
listenhttps
address 10.3.0.12
port 443
cert "/usr/local/etc/bundle.pem"
service
headrequire "Host: www"
url "/support.*"
backend
address 10.3.0.16
port 8080
end
session
type cookie
ttl 1800
id "X-SA"
end
end
end
Есть ли какие-либо настройки в Tomcat или JIRA, которые могут повлиять на это?
Рад, что у тебя все получилось. Я постараюсь добавить к этому немного цвета, если это будет полезно. При завершении SSL с вышестоящим устройством - прокси-сервером, балансировщиком нагрузки и т. Д., Нижестоящая служба не узнает об этом. Итак, ваш Tomcat видел обычный HTTP-трафик, особенно для URI, равного просто «/». На этом этапе Tomcat выполняет самореференционное перенаправление в / support /, где настроено приложение.
Когда он это делает, он создает URI для использования http: // ... вместо HTTPS: //, так как он буквально не имеет представления о вышестоящем прокси, который выполняет SSL. Добавив вышеупомянутые директивы proxyPort и ProxyName, вы дали Tomcat явную информацию о вышестоящем устройстве, поэтому теперь он перестроит эти перенаправления с использованием https: //, что будет работать.
- Мэтт
Я разобрался, настройки прокси в Tomcat решили это (proxyPort и proxyName, IIRC).