2015-12-30 2 views
0

Итак, я, наконец, получил свою переадресацию домена.Переадресовать domain.com/path на другой сервер Apache

В настоящее время у меня есть 3 Apache VM. Одним из них является «веб-сервер» другой имеет фактический веб-сайт и другие хосты ZoneMinder

, если доступ к domain.com вы получите на сайте, и могут перемещаться, но ...

если я вручную ввести domain.com/zm пытается получить доступ к ZoneMinder

это redirecets domain.com/zm в моем удаленном браузере, чтобы http://192.168.1.42:443/media

Я посмотрел вокруг, но вопросы народов кажутся либо сложными или не достаточно сложным.

Configs:

WebServer (Apache):

<VirtualHost *:80> 
    ServerName  www.domain.com 
    RedirectPermanent/http://domain.com 
</VirtualHost> 

<VirtualHost *:80> 
ServerName domain.com 
ProxyRequests Off 
<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

ProxyPass/http://192.168.1.42:80/ 
ProxyPassReverse/http://192.168.1.42:80/ 
<Location /> 
    Order allow,deny 
    Allow from all 
</Location> 
</VirtualHost> 

сайт (Apache):

<VirtualHost *:80> 
ServerName domain.com 
DocumentRoot /var/www/html 
LogLevel warn 
ErrorLog ${APACHE_LOG_DIR}/fishingparty.log 
CustomLog ${APACHE_LOG_DIR}/fishingparty-access.log combined 
</VirtualHost> 

ответ

0

получил это работает!

Установка:

сервер

Сервер) Apache, который служит только ProxyPass и не пройдет ничего

сервер B) сервер Apache, который проходит главных DOMAIN.COM

сервер C) сервер Apache что хозяева ZoneMinder @ domain.com/zm

сервера A Config:

<VirtualHost *:80> 
ServerName domain.com 
Redirect/https://www.domain.com/ 
</VirtualHost> 

<VirtualHost *:443> 
ServerName www.domain.com 
ProxyRequests Off 
<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 
SSLProxyEngine On 
SSLProxyCheckPeerCN on 
SSLProxyCheckPeerExpire on 
SSLEngine on 
SSLCertificateFile /location of .crt 
SSLCertificateKeyFile /location of .key 
SSLCACertificateFile /location of .crt 
ProxyPreserveHost on 

ProxyPass /zm https://192.168.1.43:443/zm 
ProxyPassReverse /zm https://192.168.1.43:443/zm 


ProxyPass/https://192.168.1.42:443/ 
ProxyPassReverse/https://192.168.1.42:443/ 

<Location /> 
    Order allow,deny 
    Allow from all 
</Location> 
</VirtualHost> 

Примечания: Важно, чтобы/zm приходилось перед «/» улавливать все. Я также заметил, что это НЕВОЗМОЖНО, если я использовал/zm /.

Сервер B Config:

<VirtualHost *:443> 
ServerName www.domain.com 
DocumentRoot /var/www/html 
LogLevel warn 
ErrorLog ${APACHE_LOG_DIR}/domain.log 
CustomLog ${APACHE_LOG_DIR}/domain.log combined 
SSLEngine on 
SSLCertificateFile /location of .crt 
SSLCertificateKeyFile /location of .key 
SSLCACertificateFile /location of .crt 
</VirtualHost> 

Примечание: не нужно иметь *: 80 переадресовывает или сервер Алиас, как только правильно отформатированные запросы направляются к этому серверу с помощью фильтрации ProxyPass заранее.

Сервер C Config: (domain.com/zm)

<VirtualHost *:443> 
ServerName www.domain.com 
DocumentRoot /var/www/html 
LogLevel warn 
ErrorLog ${APACHE_LOG_DIR}/domain.log 
CustomLog ${APACHE_LOG_DIR}/domain.log combined 
SSLEngine on 
SSLCertificateFile /location of .crt 
SSLCertificateKeyFile /location of .key 
SSLCACertificateFile /location of .crt 
</VirtualHost> 

Да, это то же самое. Он работает, поэтому я счастлив!

Примечание: на всех 3 серверах установлены мои сертификаты SSL, но я не коснулся default-ssl.conf.

Смежные вопросы