我在 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