我有一个可以/
转发到 Tomcat 服务器的 Apache 服务器。当 Tomcat 服务器关闭时,我想显示一条错误消息。这是我目前拥有的:
ErrorDocument 502 "We're down, sorry :("
我想展示一个相对丰富的文档(有趣的图片和东西),而不仅仅是一句话信息。问题是,我似乎无法提供文件,只能重定向到它们。我正在看这个文档。
我想保留相同的 URL,但提供不同的 HTML 文件。有什么办法可以做到这一点?
<VirtualHost *:443>
ServerName ${DOMAIN_NAME}
ProxyRequests Off
ProxyAddHeaders On
ProxyPass /stomp http://tomcat:8080/stomp
ProxyPassReverse /stomp http://tomcat:8080/stomp
ProxyPass /.well-known http://mail.${DOMAIN_NAME}:80/.well-known
ProxyPassReverse /.well-known http://mail.${DOMAIN_NAME}:80/.well-known
ProxyPassMatch / http://tomcat:8080 retry=0 timeout=10
ProxyPassReverse / http://tomcat:8080
SSLCertificateFile /etc/letsencrypt/live/${DOMAIN_NAME}/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/${DOMAIN_NAME}/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ErrorDocument 502 ${PROXY_ERROR_MESSAGE}
ErrorDocument 503 ${PROXY_ERROR_MESSAGE}
</VirtualHost>
如果您为错误文档指定了一个完全限定的 URL,那么您将隐含地导致重定向,因为必须告诉浏览器“去其他地方获取错误页面”。但是,如果您执行以下操作:
只要该 URI 路径直接在 apache 中提供,就不会有重定向。在您的设置中,因为您正在代理“/”,所以您必须明确排除该文档被代理回 tomcat,如下所示:
您还需要为 HTML 中使用的任何页面组件添加排除项。
如果您想从来自 tomcat 的实际 HTTP 错误代码(通常为 4xx 代码)提供自定义错误页面,那么您应该查看 ProxyErrorOverride 指令