Я новичок в настройке Apache. У меня есть два приложения, которые мне нужно запускать локально, они работают на разных серверах - одно на jboss, а другое на Jetty. Теперь они оба используют один и тот же сервер Apache для обслуживания статических файлов.
Я решил проблемы с jboss и причальным сервером для порта http (8080) и порта ajp (8009). Оба сервера запускаются без конфликтов портов. Затем пришла часть настройки Apache.
В httpd.conf есть определение для server1 (app1 на jboss), поэтому я добавил ссылку на vhostsfile и ввел конфигурацию для server2 (app2 на пристани). Проблема в том, что если у меня есть ссылка на vhostsfile, app2 работает нормально, но app1 никогда не разрешается Apache - «Запрошенный URL / us / en_us не найден на этом сервере»
Сначала я подумал, что, возможно, мне следует поместить оба определения сервера в файл vhosts, и я так и сделал. Поместите определение для server1 ниже server2, но - app1 все еще не загружается, пока app2 загружается, как раньше. Запросы к app1 отображали журналы доступа для app2.
Затем в файле vhosts я поменял местами определения, т.е. поместил определение server1 выше server2, теперь оба приложения не загружались в браузере.
Надеюсь, я здесь не слишком запутался. App1 работает только с определением server1 (без vhost). После добавления определения server2 (в vhosts) app1 перестает работать, но app2 работает. Кроме того, определение какого-либо сервера выше другого в файле vhosts перехватывает запросы к обоим приложениям.
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.com
DocumentRoot "C:/env/local/cust/httpd/docs/dummy-host.com"
ServerName dummy-host.com
ServerAlias www.dummy-host.com
ErrorLog "logs/dummy-host.com-error.log"
CustomLog "logs/dummy-host.com-access.log" common
</VirtualHost>
<VirtualHost app2.local.com:80>
ServerAdmin app2@local.com
DocumentRoot "C:/app2"
ServerName app2.local.com
ErrorLog "logs/store-error.log"
CustomLog "logs/store-access.log" common
<Directory "C:/app2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost app1.local.com:80>
ServerAdmin app1@local.com
DocumentRoot "C:/workspace/app1"
ServerName app1.local.com
ErrorLog "logs/app1-error.log"
CustomLog "logs/app1-access.log" common
<Directory "C:/app1/">
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Вы нарушаете виртуальный хостинг на основе имен, имея имена хостов в <VirtualHost>
определения.
+ Изменить <VirtualHost app1.local.com:80>
и <VirtualHost app2.local.com:80>
к <VirtualHost *:80>
, и убедитесь, что у вас есть NameVirtualHost *:80
где-то в вашем конфиге.