在虚拟主机和mod_proxy中使用Confluence

在testing服务器上,我已经安装了最新版本的Confluence。 我用ajpconfiguration了apache。 但我有一个问题,当我在Confluencelogin时,我得到以下错误信息:

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

但不幸的是前锋没有帮助,我仍然得到错误信息。 有没有人有任何想法我可以解决这个问题?

我已经设置了以下Apacheconfiguration:

 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> 

表面看来,你的configuration看起来是正确的,假设已经安装了Confluence并且正确configuration了Tomcat。

在你的服务器上,如果你input这个,你会得到什么:

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

那这个怎么样

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

你说:

我用ajpconfiguration了apache。

请注意,目前你没有使用ajp。 你使用http://代理 如果您要使用ajp,您的configuration将如下所示:

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

但是,这不应该大大影响你的问题(对于简单的操作,使用httpajp访问tomcat让你到同一个地方)。

编辑 :您提供的curl输出显示Confluence正在响应正确的URL。 事实上,如果我把你的Apacheconfiguration,并逐字地放到我的服务器上,它工作得很好。

当您尝试连接到http:// yourserver /时 ,Apache访问日志中显示了什么? 错误日志?

感谢您的post。 我执行命令并得到这个:

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”输出。

你是对的,通常我使用带有AJP-Proxy的端口8009,但Confluence上没有AJP连接器,我不想安装额外的连接器。 我也这么认为,这不是问题的原因。

在apache error_log中没有任何东西,而在apache中,acces_log只在我login时出现这一行:

IP地址 – [16 / Feb / 2011:18:02:14 +0100]“POST /dologin.action HTTP / 1.1”302 724“ https://wiki.example.com/login.action?os_destination=% “Mozilla / 5.0(xxx; U; xxx; de; rv:1.9.2.13)Gecko / 20101203 Firefox / 3.6.13”

我发现了这个问题。 在Apache中,我将端口80redirect到443.但是Confluence生成http:// – Adresses 。 现在我把我的重写规则从[R = 301]改为[R = 301,NE],现在它工作:)

THX为您提供帮助。

问候

马库斯