带有 ProxyPass 的 Apache2.4 删除了 ExpressJS 设置的标头

带有 ProxyPass 的 Apache2.4 删除了 ExpressJS 设置的标头

我在 Windows Server 2012R2 上安装了 WAMP(3.1.0,即 Apache 2.4),并使用代理传递到 ExpressJS/Node 应用程序。在我的 httpd.conf 中:

<Location "/someurl/">
ProxyPass "http://localhost:1337/"
ProxyPassReverse "http://localhost:1337/"
</Location>

这很有效 - 除了它删除 Express 设置的一些标头在发送到客户端之前 - 特别成问题的是缓存标头。 Express 为不同类型的文件设置了不同的最大期限,因此我宁愿不在 Apache 中设置缓存控制。 我如何告诉 Apache 将这些标头从代理直接传递到客户端?

Express(localhost:1337)的标头包括:

Accept-Ranges    bytes
Access-Control-Allow-Headers        X-Requested-With
Access-Control-Allow-Origin     *
Cache-Control       public, max-age=0
Connection      keep-alive
Date        Thu, 04 Jan 2018 19:14:45 GMT
ETag        W/"97af-160c2918661"
Last-Modified       Thu, 04 Jan 2018 19:06:45 GMT
X-NODE_ENV      production
X-Powered-By        Express

Apache(localhost/someurl/)的标头包括:

Connection  Keep-Alive
Content-Length  295
Content-Type    text/html; charset=iso-8859-1
Date    Thu, 04 Jan 2018 19:28:33 GMT
Keep-Alive  timeout=5, max=100
Location    http://localhost/someurl/
Server  Apache/2.4.27 (Win64) PHP/5.6.31

相关内容