【问题标题】:Apache Web Server : ProxyPass and ProxyPassReverseApache Web 服务器:ProxyPass 和 ProxyPassReverse
【发布时间】:2017-12-05 01:42:12
【问题描述】:

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

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

有人吗?

【问题讨论】:

    标签: apache2 mod-proxy mod-jk


    【解决方案1】:

    ProxyPassReverse 用于在 Apache 将其发送到浏览器之前更改从代理应用服务器发送到 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

    【讨论】:

    • 由于这个 ProxyPass 设置,是否可以在 apache 服务器上安装 ssl 并让应用程序在 http(没有 ssl)上侦听?浏览器会将 https 中的请求发送到服务器,服务器会将它们重定向到 http 客户端,返回方式相同。浏览器会认为它在 ssl 上并显示绿色锁吗?在服务器上的所有应用程序上管理 ssl 听起来很麻烦……
    • 可以具体化,它不允许更改任何标头,因为它可能从措辞“更改发送的标头”中听起来,但只有一种类型的标头,重定向标头/s 也是示例最初可能听起来很解释,但没有提到它是使用该指令的示例(正如人们可能期望的那样)或不使用它。对于已经从 apache 文档中知道这种确切行为的人来说更清楚。在示例中没有提到用法,但是当不使用感兴趣的指令时会发生什么,什么是不直观的 - 必须想象行之间有读取
    【解决方案2】:

    SO:: apache to 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

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 2012-10-07
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 2016-04-24
      • 2018-06-21
      • 2012-09-19
      相关资源
      最近更新 更多