如何将请求从 apache web 服务器模块转发到应用程序服务器

How to forward request from apache web server module to application server

我应该能够使用 apache 模块拦截请求,然后我应该能够将该请求转发到应用程序服务器。

我在 apache 网络服务器中编写了一个模块,该模块将拦截请求并发送响应。

当我尝试使用以下配置仅使用 apache 模块时,它工作正常。

<Location "/test.html">
SetHandler my_module
</Location>

在这种情况下,当我仅尝试使用 ProxyPass 配置时,它也工作正常。

<Location "/test.html">
ProxyPass   "http://192.168.124.1:8080/test/myservlet"
</Location>

但是,如果我想要这两种功能,那么它就无法工作了。即最初我应该能够拦截请求,然后我应该能够将该请求转发到应用程序服务器。 有人可以建议我这样做的方法吗?

您应该 return 拒绝您的 ap_hook_handler() 函数,或使用不同的 "hook",例如 "ap_hook_fixups",它允许超过 1 个模块采取行动。