2015-04-01 2 views
0

Ситуация: сервер ubuntu 14.04 с apache и bugzilla, установленный на выделенный vm. Все работает хорошо, на bugzilla.myexternal.com, bugzilla.myinternal.xyz и по локальной сети IP-адресApache reverse proxy config всегда возвращает тот же сайт

Теперь я хочу, чтобы другие внутренние серверы были доступны на одном и том же внешнем IP-адресе, путем пересылки по имени узла, с тем же apache. добавлена ​​DNS запись и разрешение правильно для other1.myexternal.com, other2.myexternal.com и т.д.

(внутренний DNS уже охватывает/разрешает внутренние имена otherX в локальные IP-адреса для внутреннего использования)

После прочтения атриклы здесь и на apache, я тонкий, я смог перегонять сайт bugzila-conf и добавить другой сайт-conf, как и предполагалось. Тем не менее, существует так много противоречащих друг другу статей с различными «решениями», и в конце концов я не могу заставить его работать. Независимо от того, какой хост называется, я всегда заканчиваю начальный сайт bugzila. Когда я a2dissite bugzilla, то я всегда отправляюсь на первый обратный прокси-сайт (показывая, что проксирование действительно работает)

Вот как выглядит сайт-конф.

Bugzilla:

<VirtualHost *:80> 
    ServerName bugzilla.myexternal.com 
    ServerAlias 192.168.aaa.bbb 

    DocumentRoot /var/www/html 
    <Directory /var/www/html> 
     AddHandler cgi-script .cgi 
     Options +ExecCGI 
     DirectoryIndex index.cgi index.html 
     AllowOverride Limit FileInfo Indexes Options 
    </Directory> 

</VirtualHost> 

Разное1: (и аналогично для otherX, все они имеют статический внутренний IP)

<VirtualHost *:80> 
    ProxyPreserveHost On 
    ServerName other1.myexternal.com 

# ProxyRequests off ->also tried without commenting out 
    ProxyPass/http://192.168.aaa.ccc/ 
    ProxyPassReverse/http://192.168.aaa.ccc/ 
</VirtualHost> 

апач перезарядка без ошибок/предупреждений.

При поиске с 'apache2ctl -S' я вижу, что они загружены правильно. Но во всех случаях (при отключении некоторых виртуальных хостов), сайт, который получает показан всегда сервер по умолчанию с помощью упоминалось «apache2ctl -S»:

VirtualHost configuration: 
*:80     is a NameVirtualHost 
    default server bugzilla.myexternal.com (/etc/apache2/sites-enabled/bugzilla2.conf:1) 
    port 80 namevhost bugzilla.myexternal.com (/etc/apache2/sites-enabled/bugzilla2.conf:1) 
      alias 192.168.aaa.bbb 
    port 80 namevhost other1.myexternal.com (/etc/apache2/sites- enabled/comfoway.conf:2) 
    port 80 namevhost other2.myexternal.com (/etc/apache2/sites- enabled/spcway.conf:1) 
ServerRoot: "/etc/apache2" 
Main DocumentRoot: "/var/www" 
Main ErrorLog: "/var/log/apache2/error.log" 
Mutex proxy: using_defaults 
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex watchdog-callback: using_defaults 
Mutex proxy-balancer-shm: using_defaults 
Mutex rewrite-map: using_defaults 
PidFile: "/var/run/apache2/apache2.pid" 
Define: DUMP_VHOSTS 
Define: DUMP_RUN_CFG 
Define: MODPERL2 
Define: ENABLE_USR_LIB_CGI_BIN 
User: name="www-data" id=33 
Group: name="www-data" id=33 

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

ответ

0

Я нашел причину, и я смущен, чтобы сказать, но это касается назначения неправильного домена и TLD для других имен серверов. У нас есть несколько имен doamin с только разными TLD, которые я перепутал. Но они действительно устраняются из-за того, как наш DNS настроен с записями CNAME.

В результате не найдено соответствующего имени сервера apache и отображается значение по умолчанию.

Хорошей новостью является (для других пользователей), что приведенная выше конфигурация работает, поэтому, если вам нужна обратная прокси и локальная комбинация серверов на этом unubtu и apache 2.4, то это путь вперед.

приветствие, Christof

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