Запускать Apache и Tomcat вместе на разных поддоменах?

Разместил это на ServerFault, но не получил ответа. Надеюсь, мне повезет больше на сайте Ubuntu.

Я пытался заставить это работать весь сегодняшний день. У меня есть сервер, который разрешает к домену example.com . Это работает Apache2 и Tomcat 6. Требуется направить запросы на example.com к apache2 и app.example.com к Tomcat. Я знаю, что должен сделать проход прокси VirtualHost, чтобы это работало. Вот настройки на моем сервере.

/ etc / hosts выглядит примерно так

127.0.0.1     localhost localhost.localdomain example.com app.example.com 

У меня есть два файла виртуальных хостов для разных доменов в / etc / apache2 / sites-enabled [ 117]

/etc/apache2/sites-enabled/example.com выглядит следующим образом

<VirtualHost *:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin webmaster@localhost
  ServerName  example.com
  ServerAlias www.example.com

  DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>


</VirtualHost>

/etc/apache2/sites-enabled/app.example Файл .com выглядит следующим образом

<VirtualHost *:80>
  ServerName  app.example.com
  ServerAlias www.app.example.com

  ProxyPreserveHost On
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1
</VirtualHost>

. mod_proxy и mod_rewrite включены в экземпляре apache. У меня есть запись CNAME для example.com и app.example.com. При доступе к app.example.com я получаю 403 запрета, говоря, что у меня нет доступа к / на сервере. Что я делаю неправильно?

4
задан 25 December 2010 в 08:01

2 ответа

У меня похожая проблема, когда я использую такую ​​конструкцию в определении виртуального хоста:

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

В моем случае она начинает работать, когда я указываю приложение:

  • эти позволяют перенаправить такой адрес: http://app.example.com/confluence

    ProxyPass /confluence/ http://localhost:8180/confluence/ 
    ProxyPassReverse /confluence/ http://localhost:8180/confluence/
    
  • они позволяют перенаправить такой адрес: http://app.example.com для правильного применения

    ProxyPass / http://localhost:8180/confluence/ 
    ProxyPass / http://localhost:8180/confluence/
    
0
ответ дан 25 December 2010 в 08:01

Попробуйте:

VirtualHost 'app.example.com:80'

вместо

VirtualHost '*:80'
0
ответ дан 25 December 2010 в 08:01

Другие вопросы по тегам:

Похожие вопросы: