Использование Confluence с виртуальными хостами и mod_proxy

На тестовом сервере я установил последнюю версию Confluence. Я настроил апач с помощью ajp. Но у меня есть проблема, когда я вхожу в Confluence, я получаю следующее сообщение об ошибке:

Not Found
The requested URL / / homepage.action was not found on this server.

Проблема, кажется, известна, я нашел следующую ссылку: http://confluence.atlassian.com/display/DOC/Using+Apache+with+virtual+hosts+and+mod_proxy

Но, к сожалению, форварды не помогли, я все равно получаю сообщения об ошибках. У кого-нибудь есть идеи, как мне решить проблему?

Следующая конфигурация Apache, которую я настроил:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so

<IfModule proxy_http_module>
ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

<Location />
Order allow,deny
Allow from all
</Location>

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

</IfModule>

4 ответа

Внешне ваша конфигурация выглядит правильно, если предположить, что Confluence установлен и Tomcat настроен правильно.

На вашем сервере, что вы получите, если наберете это:

curl -D /dev/stderr http://localhost:8080/

А как насчет этого:

curl -D /dev/stderr http://localhost:8080/homepage.action

Вы сказали:

Я настроил апач с помощью ajp.

Обратите внимание, что в данный момент вы не используете ajp. Вы используете прокси http://; если бы вы использовали ajp, ваша конфигурация выглядела бы так:

ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/

Однако это не должно существенно повлиять на вашу проблему (для простой операции доступ к tomcat через http или же ajp доставит вас в то же место).

РЕДАКТИРОВАТЬ: выход из curl предоставленные вами данные демонстрируют, что Confluence отвечает по правильным URL-адресам. На самом деле, если я возьму вашу конфигурацию Apache и досконально перенесу ее на мой сервер, она будет работать просто отлично.

Когда вы пытаетесь подключиться к http://yourserver/, что отображается в журнале доступа Apache? Журнал ошибок?

Спасибо за ваш пост. Я выполняю команды и получаю это:

1) curl -D / dev / stderr h ** p: // localhost: 8080 /

HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1 
Set-Cookie: JSESSIONID=838E3DA5D23E1457669E843CA2CFBBBA; Path=/; HttpOnly
Location: http://localhost:8080/homepage.action
Content-Type: text/html
Content-Length: 0
Date: Mon, 14 Feb 2011 21:42:49 GMT

2) curl -D / dev / stderr h ** p: // localhost: 8080 / homepage.action

HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Cache-Control: no-cache, must-revalidate 
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Confluence-Request-Time: 1297720104335
Set-Cookie: JSESSIONID=F6941E06E83ABB538A8341181AED3E6A; Path=/; HttpOnly
Location: http://localhost:8080/login.action;jsessionid=F6941E06E83ABB538A8341181AED3E6A?os_destination=%2Fhomepage.action
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Mon, 14 Feb 2011 21:48:24 GMT

Честно говоря, я понятия не имею, что делать с выводом "curl".

Вы правы, обычно я использую порт 8009 с AJP-Proxy, но на Confluence нет AJP-разъема, и я не хотел устанавливать дополнительный коннектор. Я тоже так думаю, это не причина проблемы.

Я нашел проблему. В Apache я установил перенаправление с порта 80 на 443. Но Confluence генерирует http: // - Адреса. Теперь я изменил свои правила переписывания с [R=301] на [R=301,NE], и теперь это работает:)

THX за вашу помощь.

Привет

Маркус

В apache error_log ничего нет, а в apache acces_log появляется только эта строка при входе в систему:

IP-адрес - - [16 / Feb / 2011: 18: 02: 14 +0100] "POST /dologin.action HTTP / 1.1" 302 724 " https://wiki.example.com/login.action?os_destination=%252Fhomepage.action"" Mozilla / 5.0 (xxx; U; xxx; de; rv: 1.9.2.13) Gecko / 20101203 Firefox / 3.6.13 "

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