【问题标题】:IP redirection: 2 applications, 2 servers with IP but website on one IPIP 重定向:2 个应用程序,2 个具有 IP 的服务器,但网站在一个 IP 上
【发布时间】:2018-11-20 20:58:18
【问题描述】:

我有三个申请:

  • “app_1”在服务器 1 上运行(IP1,在 Debian 9 上使用 Apache2)
  • “app_2”在服务器 2 上运行(IP2,在 Debian 9 上使用 Apache2)
  • “app_2_api”在服务器 2 上运行(IP2,在 Debian 9 上使用 Apache2)

我可以像这样访问 app_1:http://IP1

但是要访问 app_2 和 app_2_api,我不能继续这样的操作:http://IP1http://IP1:3000/app_2_api 等(我可以通过服务器 2 使用 IP2 和 ssh 访问)。我需要继续 http://IP1/app_2http://IP1/app_2_api

这怎么可能?我需要重现这个,但我不知道如何。有什么提示吗?

【问题讨论】:

    标签: apache debian ip


    【解决方案1】:

    所以 domain1 == IP1, domain2 == IP2, domain2_API == IP2

    确保http://IP1 响应,并且http://IP2http://IP2_API 响应正确。一旦你有了:

    • 使用 mod_proxy 在 server1、VirtualHost IP1:80 和 IP2 站点的代理上设置 Apache。
    • 由于您要指定路径,因此很容易设置反向代理配置。

      ProxyPass "/app_2" "http://IP2"
      ProxyPassReverse "/site2" "http://IP2"
      
      ProxyPass "/app_2_api" "http://IP2/api"
      ProxyPassReverse "/site2_api" "http://IP2/api"
      

    显然这不是一个完整的配置,但这些会处理您的 VirtualHost 中的代理部分。使用此配置的好处是,您的客户端永远不会在其地址栏中看到 IP2,因此看起来所有流量都是 IP1 站点的一部分。

    mod_proxy 的完整参考:https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

    完成后,请考虑设置域名,而不是通过 IP 地址访问网站...

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 2015-04-05
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      相关资源
      最近更新 更多