【问题标题】:Handle connection from apache to NodeJS HTTP Server处理从 apache 到 NodeJS HTTP 服务器的连接
【发布时间】:2019-03-31 14:44:23
【问题描述】:

我在 Raspbian 的 8000 和 80 上设置了一个 nodejs http 服务器。
NodeJS 将提供 *.njs 文件,以响应所有请求。 (njs 文件与 php 相同。我让它看起来像返回 onRequest、onUpgrade 和 onConnect 的模块)。
Apache 将提供任何文件类型,例如 html、php、图像等。

Apache 将是其中提供任何文件的主要服务器。并且 *.njs 文件也在 http 文件夹中。虽然存在请求任何 *.njs 文件的连接,但它会转发(而不是重定向)到 nodejs http 服务器,然后它会再次返回到客户端。

简单地说:每个请求都应该从Apache传递,然后转发到NodeJS http服务器并由它处理,然后返回给客户端。

我怎么能这样做?
*当我向它发出请求时,NodeJS HTTP Server 做得很好,没有问题。

当我在 Internet 上搜索时,我发现 Proxy 可以帮助我。
我已经激活了代理模块。已设置为000-default.conf。使用ProxyPassProxyPassMatch 可以将连接传递到NodeJS http 服务器,但它无法返回。然后,我尝试使用ProxyPassReverse。但它只能服务于一条路线,而不是特定的多条路线。

我尝试了ProxyRemoteSetHandler<Proxy *><Location ~ ".*">,但仍然无法正常工作。

这是我在000-default.conf 所做的所有事情。

第一次尝试,

<VirtualHost *:80>
   ProxyPassMatch "\.njs$" "http://0.0.0.0:8000"
   ProxyPassReverse "/*" "http://0.0.0.0:8000"
   ProxyRemote "/*" "http://0.0.0.0:8000"
   SetHandler "http://0.0.0.0:8000"
</VirtualHost>

第二次尝试,

<VirtualHost *:80>
   <Location ~ "\.njs$">
      ProxyPass "http://0.0.0.0:8000"
      ProxyPassReverse "http://0.0.0.0:8000"
      ProxyRemote "http://0.0.0.0:8000"
      SetHandler "http://0.0.0.0:8000"
   </Location>
</VirtualHost>

第三次尝试,

<VirtualHost *:80>
   <Proxy "*">
      ProxyPass "http://0.0.0.0:8000"
      ProxyPassReverse "http://0.0.0.0:8000"
      ProxyRemote "http://0.0.0.0:8000"
      SetHandler "http://0.0.0.0:8000"
   </Proxy "*">
</VirtualHost>

我已经尝试了所有这些,我删除、添加和更改了路由和命令。有些会报错,比如ProxyPass 不能在&lt;Proxy "*"&gt; 中使用正则表达式,ProxyRemote 不能在&lt;Location&gt; 中使用,ProxyPassReverse 不能使用正则表达式。而且都没有用。

我希望它可以将连接转发到 nodejs http 服务器以获取 *.njs 文件。我想使用 Apache 作为我的主服务器到服务器和转发,并且只需要 NodeJS 服务器来处理转发和响应请求。 NodeJS 足够好,没有问题。只有 Apache 需要一些设置。

我怎么能做到这一切?

【问题讨论】:

    标签: apache reverse-proxy


    【解决方案1】:

    我遇到了类似的问题,我想代理任何类型的路由。这有帮助。

    <Location /*>
      ProxyPass http://your_domain:8000/$1
      ProxyPassReverse http://your_domain:8000/$1
    </Location>
    

    我希望它对您的问题有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-05-03
      • 1970-01-01
      • 2019-12-28
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多