0

У меня есть веб-сервер apache 2.2.15, работающий на хосте RedHat 6.4, для которого у меня ограниченные привилегии.Apache virtualhost и обратный прокси не работают в непривилегированном порту

У меня есть экземпляр httpd в каталоге, принадлежащем мне. Этот экземпляр имеет свои собственные и т. Д., Журналы, htdocs, conf и т. Д. И символические ссылки на основной диск Apache и модули.

DNS-сервер устроил myinstance.example.com, чтобы указать на IP-адрес сервера.

Я также настроил VirtualHosts в своем httpd.conf, потому что в будущем мне может понадобиться более одного экземпляра, запущенного на этом сервере.

Директива Listen в моем htttpd.conf VirtualHost установлена ​​в порт 8081, поэтому, если я перейду к myinstance.example.com:8081, то index.html в htdocs VirtualHost будет отображаться в моем браузере.

То, что я хотел бы сделать сейчас, чтобы «удалить» номер порта из URL и имеют myinstance.example.com разрешить к VirtualHost в 8081.

Я добавил следующий блок на конец httpd.conf в VirtualHost в

<VirtualHost *:8081> 
    ServerAdmin [email protected] 
    DocumentRoot /apps/LAMP/dev/appname/hostname/htdocs 
    ServerName myinstance.example.com 
    ProxyPreserveHost On 
    ProxyPass/myinstance.example.com:8081/ 
    ProxyPassReverse/http://myinstance.example.com:8081/ 
    ErrorLog logs/error.log 
    CustomLog logs/access.log common 
</VirtualHost> 

и в том же файле, эти строки присутствуют также:

LoadModule rewrite_module modules/mod_rewrite.so 
LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
LoadModule proxy_connect_module modules/mod_proxy_connect.so 
. 
. 
. 
ProxyRequests Off 
ProxyVia On 
ProxyPreserveHost On 

Я начинаю свой экземпляр Apache с помощью:

/usr/sbin/httpd -d /apps/LAMP/dev/appname/hostname -DPHP5 -f /apps/LAMP/dev/appname/hostname/etc/httpd.conf 

Когда я указываю в браузере Firefox на myinstance.example.org (без номера порта) я получаю сообщение «Не удается подключиться» ошибки и последние записи в error.log, кажется, не связано с вопросом ,

[Tue Oct 07 13:59:28 2014] [error] (2)No such file or directory: mod_mime_magic: can't read magic file /apps/LAMP/dev/appname/hostname/conf/magic 
[Tue Oct 07 13:59:28 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) 
[Tue Oct 07 13:59:28 2014] [error] (2)No such file or directory: mod_mime_magic: can't read magic file /apps/LAMP/dev/appname/hostname/conf/magic 
[Tue Oct 07 13:59:28 2014] [notice] Digest: generating secret for digest authentication ... 
[Tue Oct 07 13:59:28 2014] [notice] Digest: done 
[Tue Oct 07 13:59:28 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations 
[Tue Oct 07 13:59:51 2014] [error] server reached MaxClients setting, consider raising the MaxClients setting 

Любая идея о том, что я могу делать неправильно? Любое предложение?

+0

Вы только что сделали бесконечный цикл перенаправления в вашей конфигурации. Вы создали виртуальный сервер для прослушивания на порту 8081, и вы хотите, чтобы он проксировал все входящие запросы и отправил их, угадайте, где, 8081. И где отправляется 8081? Для себя, который, в свою очередь, отправляет запросы на 8081. – alvits

ответ

0

Прежде всего, я бы избавился от всех ошибок. Один, что привлекло мое внимание, и это может быть шоу пробка это один:

[error] server reached MaxClients setting 

рассмотреть вопрос о повышении MaxClients установки

+0

MaxClients был достигнут из-за переадресации цикла в конфиге. Это всего лишь симптом более серьезной проблемы. – alvits

+0

Да, это сервер разработки, и к нему не подключаются фактические клиенты, поэтому я думаю, что я бы пошел с бесконечной теорией переадресации. Спасибо за руководство –

0

Она была исправлена ​​с помощью основного экземпляра Apache в порту 80, выступающей в качестве обратного прокси-сервера ,

Я добавил это в конце /etc/httpd/conf/httpd.conf

#Using host ip address 
<VirtualHost 10.18.1.20:80>  
    ServerAdmin [email protected] 
    #DocumentRoot /apps/LAMP/dev/appname/hostname/htdocs 
    ServerName myinstance.example.com 
    ProxyPreserveHost On 
    ProxyPass/http://myinstance.example.com:8081/ 
    ProxyPassReverse/http://myinstance.example.com:8081/ 
    ErrorLog logs/error.log 
    CustomLog logs/access.log common 
</VirtualHost>