【问题标题】:Sub-domains for Jetty apps with Apache mod_proxy without context name带有 Apache mod_proxy 的 Jetty 应用程序的子域,没有上下文名称
【发布时间】:2013-11-08 11:06:39
【问题描述】:

这个问题has been asked before,在简历中我想配置这个场景:

1 - 我有一台 Jetty 7 服务器,其中包含许多应用程序,例如:app1、app2、app3 等。

2 - 我有一个主域,每个 Jetty 应用程序有一个子域,例如: app1.example.com、app2.example.com、app3.example.com 等。

3 - 我正在尝试使用 Apache 2.2.22 mod_proxy 在 Apache 管理的域中屏蔽这些 Jetty 应用程序。这是我对一个应用程序的功能配置:

<VirtualHost *:80>
        ServerName example.com
        ServerAlias app1.example.com
        ProxyRequests Off
        ProxyPreserveHost On

        <Proxy *:80>
          Order deny,allow
          Allow from all
        </Proxy>
        ProxyPass /app1 http://localhost:8080/app1
</VirtualHost>

此配置有效,但是,它不会删除上下文名称,URI 是:

http://app1.example.com/app1/?args=or/pages/etc...

有办法删除这个上下文名称,留下一个完全透明的 URI 吗?例如:

http://app1.example.com/?args=or/pages/etc..

网络上的所有示例都在 URIS 上使用此上下文名称:/

其他信息:

  • 带有 Ubuntu 12.04 的虚拟机;
  • Jetty 7 无修改;
  • 启用了 mod_proxy 和 mod_rewrite 的 Apache 2.2.22(并且默认启用了一些基础模块);
  • 在 Digital Ocean 的 VM 管理器中正确且有效的 CNAME 和域名;

提前致谢。

【问题讨论】:

    标签: java apache jetty mod-proxy


    【解决方案1】:

    我找到了解决办法:

    1 - 为 apache2 mod-proxy-html 安装这个特定的库:

    sudo apt-get install libapache2-lib-proxy-html
    

    2 - 启用这个新模块:

    sudo a2enmod proxy_html
    

    3 - 在以下位置配置您的应用程序描述符:

    sudo vim /etc/apache2/sites-enabled/app1 
    

    包含以下内容:

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            ServerName app1.example.com
            ProxyRequests Off
            ProxyPreserveHost On
    
            <Proxy *:80>
              Order deny,allow
              Allow from all
            </Proxy>
            ProxyPass / http://localhost:8080/app1
            ProxyPassReverse / http://localhost:8080/app1
    
            ProxyHTMLURLMap / /app1/
    
            <Location />
                    Order allow,deny
                    Allow from all
            </Location>
    </VirtualHost>
    

    4 - 重启 apache2 服务:

    sudo service apache2 restart
    

    快乐、透明地请求:

    http://app1.example.com/some/beautiful/page

    【讨论】:

      猜你喜欢
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 2015-08-08
      相关资源
      最近更新 更多