通过apache mod_proxy

时间:2017-12-16 13:24:27

标签: apache webpack mod-proxy hot-module-replacement mod-proxy-wstunnel

我有一个项目,我们使用webpack的devserver进行本地开发。我们还有用于实时重新加载的热模块替换:hot module replacement

我们的前端在docker中运行。有了这个前端,我们还有apache的mod_proxy。想法是让所有的http调用都通过mod_proxy。因此浏览器会将http发送到mod_proxy,然后代理到前端。无需热模块更换即可正常工作。但由于某种原因,我们无法获得热模块更换工作。我想这是因为热模块替换使用Web套接字,默认情况下不启用通过apache的mod_proxy进行隧道Web套接字调用吗?

是否有人能够实现这一目标?你是怎么做到的?更换devserver / hot模块需要哪些配置?您是否使用了apache的mod_proxy Web套接字隧道:mod_proxy_wstunnel,您是如何配置它的?您不需要回答之前列出的所有子问题,我只需要有关如何使其工作的信息。

1 个答案:

答案 0 :(得分:1)

A。是。我可以在Apache2中使用以下配置来使其工作

<Location /sockjs-node>
        RequestHeader set Host "localhost:4200"
        RequestHeader set Origin "http://localhost:4200"
        ProxyPass ws://localhost:4200/sockjs-node
        ProxyPassReverse ws://localhost:4200/sockjs-node
        CacheDisable on
</Location>
<Location /sockjs-node/info>
        ProxyPass http://localhost:4200/sockjs-node/info
        ProxyPassReverse http://localhost:4200/sockjs-node/info
        CacheDisable on
</Location>

B。我的apache2服务器启用了mod_proxy和mod_proxy_wstunnel。

C。我正在为我的angular 7开发使用此配置。