Apache Tomcat Railo объединяет несколько сайтов

Добрый день,

Прежде всего, я очень зеленый, когда дело доходит до серверных вещей, так что терпите меня. Я использую Ubuntu 11.10 и установил на своем сервере стек Apache Tomcat Railo, используя https://github.com/talltroym/Railo-Ubuntu-Installer-Script/blob/master/setup-railo.sh

Пока все в порядке, и сервер работает отлично, однако я, похоже, затрудняюсь с настройкой нескольких веб-сайтов. Прямо сейчас каждое соединение, кажется, собирается к / var / www /.

Я попытался добавить новый vhost в apache, который отлично работал, за исключением того факта, что он просто выводил мои cfml-файлы и не проходил через сервер Railo.

Я думаю, это связано с тем, что нужно сказать, что Railo должен с этим справиться, после некоторых исследований я нашел эту строку в файле available-sites / default-ssl:

DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
#Proxy .cfm and cfc requests to Railo
    ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
    ProxyPassReverse / http://127.0.0.1:8080/

после копирования этих строк в новый vhost railo, похоже, активировался правильно, но работал из / var / www, а не из каталога, который я установил в vhost.

Мой новый vhost выглядит так:

<VirtualHost *:80>
 DocumentRoot "/var/www/test"
 ServerName -hidden-
 <Directory "/var/www/test">
 allow from all
 Options +Indexes
 </Directory>
    DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
    #Proxy .cfm and cfc requests to Railo
            ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
            ProxyPassReverse / http://127.0.0.1:8080/
    #Deny access to admin except for local clients
    <Location /railo-context/admin/>
            Order deny,allow
            Deny from all
            Allow from 172.16.0.0/16
            Allow from 192.168.0.0/24
    </Location>
 </VirtualHost>

Я мог бы использовать некоторые указатели относительно того, где мне нужно что-то изменить, чтобы это работало. Ура!

1 ответ

Решение

Экземпляр Tomcat, в котором работает Railo, также настроен на /var/www; именно эта линия в /opt/tomcat/conf/web.xml:

<Context path="" docBase="/var/www"/>

Но если вы просто измените это на /var/www/test каталог, то элементы на главном сайте перестанут работать. Вместо этого работайте со структурой каталогов, которую вы создаете, с подкаталогами для каждого сайта. Измените ваши директивы прокси в новом vhost:

ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/test/$1
ProxyPassReverse / http://127.0.0.1:8080/test/

Эта структура каталогов также означает, что кто-то может попасть на тестовый сайт через http://main-site.name/test/так что имейте это в виду; было бы неплохо перенести документы в /var/www/main/ или что-то, и соответственно скорректируйте свои прокси-операторы.

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