【问题标题】:How to create a proxy with apache 2.2?如何使用 apache 2.2 创建代理?
【发布时间】:2014-04-12 10:02:17
【问题描述】:

我在 Tomcat 上部署了一个 Web 应用程序。所以我的网站可以通过 url http//localhost:8080/myapp 访问。 Tomcat 安装在我的电脑上。我已经安装了 Apache 2.2 (xampp),因为我想做一个代理。我的目标是构建一个代理以便有以下用例:

1. http://127.0.0.1:8080/myapp => 显示我的网络应用程序(现在)

2. http://mysuperapp.com/myapp => 显示我的 Web 应用程序(这里的 http 请求由我的 http://localhost:8080/myapp 处理,导航器始终显示 url http://mysuperapp.com/myapp)。

这是我使用的配置: httpd.conf:

...various non-proxy-related modules omitted...
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
   ServerName   mysuperapp.com
   ProxyPass        / http://localhost:8080/
   ProxyPassReverse / http://localhost:8080/
   ProxyPassReverseCookieDomain localhost mysuperapp.com
   ProxyPreserveHost On
</VirtualHost>

当我尝试 url mysuperapp.com/myapp 时,我看不到我的 webapp。有什么问题吗?

【问题讨论】:

    标签: apache tomcat proxy


    【解决方案1】:

    我假设 mysuperapp.com 正确解析为运行 apache 的计算机?仅仅通过在 apache 的配置中提及服务器名称,并不能以该名称访问它。

    Apache 是否与 tomcat 在同一台计算机上运行?如果没有,您不能使用http://localhost:8080/,但必须提供 Apache 可以访问的 tomcat 的名称(例如登录到运行 Apache 的计算机并从那里的浏览器访问您的 webapp。如果它是无头服务器,使用 lynx 或 w3m - 这些是基于 shell(文本模式)的浏览器。

    如果不是这些原因,请进一步说明“我看不到我的 webapp”:您能看到什么?

    编辑:我看到您对此答案进行了一些(版主拒绝)编辑:您应该将这些 cmets 添加为此答案下方的“cmets”。

    从这些编辑中,我觉得您必须在 DNS 方面工作 - 例如。您需要弄清楚如何使您的 Apache 在 mysuperapp.com 下可用:到目前为止,您已将其配置为正确回复 if 它已在该域名下到达,但似乎一般名称解析不指向它:尝试ping mysuperapp.com。如果这不能解析为您的 Apache 的 IP 地址,则您无需担心其他任何事情。

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 2018-06-06
      • 2016-11-09
      • 1970-01-01
      相关资源
      最近更新 更多