2

У меня проблемы с доступом к WebSphere Portal, который развернут за обратным прокси (с помощью Apache). Проблема в том, что при проверке HTTP-запросов, выпущенных браузером, некоторые запросы ориентированы на прокси-сервер, а некоторые - непосредственно на WebSphere Portal. КонфигурацияWebSphere Portal за обратным прокси и getServerPort()

Моих Apache:

ProxyPassReverseCookieDomain backend-server proxy-server 

ProxyPass/http://backend-server:10039/ 
ProxyPassReverse/http://backend-server:10039/ 

Проблема, некоторые сгенерированные ресурсы содержали абсолютные URI, таргетинг на бэкэнде-сервере: 10039 ...

Что еще я должен настроить, чтобы правильно получить доступ к WebSphere Portal позади обратный прокси?

ответ

4

Потому что я могу ответить на мои собственные вопросы, вот в чем проблема:

На стороне сервера, портлетов и JSPs в WebSphere Portal использовать request.getServerHost() и request.getServerPort(). Чтобы эти методы работали за обратным прокси (который отправляет заголовок Host:). Я должен был добавить:

ProxyPreserveHost On 

для апача конфигурации и:

com.ibm.ws.webcontainer.extractHostHeaderPort = true 
trusthostheaderport = true 

дополнительные свойства для веб-контейнер в IBM консоли: WebSphere application servers -> WebSphere_Portal -> Web Container Settings -> Web Container -> Custom properties.

Эти свойства описаны here.

0

У меня такая же проблема, несколько дней назад, и в конце концов выбрал апачский mod_substitute, чтобы изменить эти адреса с чем-то вроде этого:
Substitute "s|http ://backend-server:10039/|/|i"

Смежные вопросы