在 apache 中服务器不同的 503 页面

server different 503 pages in apache

我有两个应用使用下面的 apache 配置,app1 监听 3030,app2 监听 3031。

我想为 app1 和 app2 提供不同的 503 页面,当我添加 ErrorDocument 503 /503.html 它同时影响 app1 和 app2 时,可以做什么为 app1 和 app2 服务器不同的 503

ProxyPass /app1 http://127.0.0.1:3030
ProxyPassReverse /app1 http://127.0.0.1:3030
ProxyPass /app2 http://127.0.0.1:3031
ProxyPassReverse /app2 http://127.0.0.1:3031

这里是 Bitnami 工程师,

如果你想为每个应用程序使用不同的 503 HTML,你可以在 /opt/bitnami/apache2/conf/bitnami/bitnami.conf 文件中使用以下代码

  ProxyPass /app1 http://127.0.0.1:3000
  ProxyPassReverse /app1 http://127.0.0.1:3000
  ProxyPass /app2 http://127.0.0.1:3001
  ProxyPassReverse /app2 http://127.0.0.1:3001
  ProxyErrorOverride On
  <Location /app1>
  ErrorDocument 503 /503_custom.html
  </Location>
  <Location /app2>
  ErrorDocument 503 /503.html
  </Location>

我刚刚用这个示例 express 应用程序尝试了该代码

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.sendStatus(503);
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

如您所见,它返回了 503 错误代码,Apache 设法将其发送到 503_custom.html 站点。