【发布时间】:2014-11-25 17:35:15
【问题描述】:
我的 Express.js 应用程序使用绝对路径(例如,/bootstrap/css/bootstrap.css 等)当我在 Apache 中的域根目录中反向代理它时,它工作正常。但是,如果我在任何不同的路径上 RP,应用程序的路径将无法解析。例如,如果我在 /app 进行 RP,则应用程序将尝试获取 /bootstrap/css/bootstrap.css,而它应该获取 /app/bootstrap/css/bootstrap.css 等。
为了解决这个问题,我的 Apache 配置将 X-Script-Name 标头设置为 /app:
Header add "X-Script-Name" /app
我希望随后将其注入到 Express 提供的前端代码中。例如,而不是:
<script src='/assets/something.js'></script>
...我们会有类似的东西:
<script src='${X-Script-Name}/assets/something.js'></script>
我遇到的问题是在 Express 中获取 X-Script-Name 值。我原以为它会在路由器的req.headers 中,但这只是 Express 推送的标头......我该如何让它工作?
【问题讨论】:
标签: apache express http-headers relative-path reverse-proxy