Apache Web 服务器:ProxyPass 和 ProxyPassReverse

yap*_*m01 6 apache2 mod-proxy mod-jk

我已经通过互联网和stackoverflow进行了扫描,但我仍然不确定proxypass和proxypassreverse的目的。

为什么我们需要proxypass(而不是使用mod_jk)让apache服务器连接到tomcat?

请问有人吗?

Yan*_*ski 13

在 Apache 将其发送到浏览器之前,ProxyPassReverse用于更改从代理应用程序服务器发送到 Apache的标头

例如,如果应用程序位于localhost:8080 上,它将以http://localhost:8080/new_path/的重定向和位置标头进行响应,Apache 将获取它并将其发送到浏览器。浏览器将尝试向localhost:8080上的 Page 发送请求并收到错误。

ProxyPassReverse将拦截这些标头,并重写它们以匹配 Apache 代理服务器。

ProxyPass将创建一个反向代理。反向代理(或网关)对客户端来说就像一个普通的 Web 服务器。客户端对反向代理的命名空间中的内容进行普通请求。然后反向代理决定将这些请求发送到哪里,并返回内容,就好像它本身就是源一样。

https://www.quora.com/Whats-the-difference-between-proxypassreverse-and-proxypass

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html


Ash*_*pta 5

SO:: apache 到 tomcat 的好链接:mod_jk vs mod_proxy

1.原因之一可能是使用 mod_proxy 来包含其他服务器,同时维护精美的 URL。

2.其他优点是,当您使用 tomcat 作为服务器时,mod_proxy_ajp 模块具有 ProxyPassReverseCookiePath 指令,它允许您将 Tomcat Web 应用程序(根应用程序除外)的会话 cookie 映射到虚拟主机的根目录。

3.Mod_proxy 只是将某些 URL 的请求重定向到另一个 Web 服务器,因此通常不需要在应用程序服务器上进行任何额外配置。

另请参阅http://www.humboldt.co.uk/2009/02/the-mystery-of-proxypassreverse.html