use*_*465 7 redirect tomcat apache2
我在ubuntu9.10和8.10服务器上使用tomcat6和mod_jk设置(都在端口80上运行).我在/ usr/share/tomcat/webapps下部署war文件.在部署期间,当我重新启动tomcat时,在浏览器上访问tomcat应用程序时,我将获得以下页面:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.2.11 (Ubuntu) mod_jk/1.2.15 Server at 192.168.2.54 Port 80
Run Code Online (Sandbox Code Playgroud)
在tomcat服务器关闭时,如何将此页面重定向到其他自创建的维护页面?
小智 6
您可以在Apache中设置自定义错误页面以获取错误代码503.
http://httpd.apache.org/docs/2.2/mod/core.html#errordocument
ErrorDocument 503 /maintance.html
Run Code Online (Sandbox Code Playgroud)
如果您使用的是mod_jk和tomcat连接器,则这是预期的行为.如果你使用类似的东西
ErrorDocument 503 "foo"
Run Code Online (Sandbox Code Playgroud)
你会在页面上看到'foo'或者
ErrorDocument 503 "http://www.somedomain.com"
Run Code Online (Sandbox Code Playgroud)
这将成功引导您到somedomain.com.但如果你使用类似的东西
ErrorDocument 503 /maintenance.html
Run Code Online (Sandbox Code Playgroud)
Apache将无法找到[DocumentRoot] /maintenance.html,因为它在tomcat连接器的上下文中查找.您需要卸载连接器并告诉Apache从其他位置提供静态内容.
这是一个很好的指南,可以帮助您开始使用mod_jk. 使用Apache和Tomcat连接器的自定义错误页面
编辑:这是我用来使我们的自定义503页面正确呈现的解决方案.
首先,我们所有的自定义错误页面都以错误代码为前缀,因为我们的Web应用程序可能不会包含带有这些状态代码作为文件名根目录的文件.因此,对于使用您的示例,我会在名为"custom_errors"的目录中使用以下三个文件:
/503_maintenance.html
/503_maintenance.css
/503_corp_logo.png
Run Code Online (Sandbox Code Playgroud)
这样可以轻松地从jk mount中排除与自定义错误页面相关的任何文件.在我们的vhost文件中,然后我们设置错误文档位置和别名
#Alias the location of your custom error page files
Alias /error/ /var/apache2/2.2/htdocs/custom_errors
ErrorDocument 503 /error/503_maintenance.html
#mount the core tomcat application
JkMount /* myWorker
#set the 503 code if myWorker is unavailable
#and exclude the 503 pages from the tomcat/jboss application
JkMount /* myWorker;use_server_errors=503
JkUnMount /503* myWorker
Run Code Online (Sandbox Code Playgroud)
这基本上告诉Apache和mod_jk不要在tomcat连接器的上下文下安装带有503前缀的任何文件,而是在本地查找这些文件.如果您不想使用相对于DocumentRoot的位置,您可以像我一样使用和Alias.
| 归档时间: |
|
| 查看次数: |
20281 次 |
| 最近记录: |