Назад | Перейти на главную страницу

Я запускаю Webmin и хочу, чтобы он был доступен с двумя URL-адресами, оба с использованием proxypass в apache

Вот что я пытаюсь сделать:

NameVirtualHost *
<VirtualHost *>
        ServerName testsite.org
        ServerAdmin webmaster@testsite.org
        DocumentRoot /var/www/
</VirtualHost>

<VirtualHost *>
        ServerName panel.testsite.org
        ProxyPass / http://panel.testsite.org:10000/
        ProxyPassReverse / http://panel.testsite.org:10000/
</VirtualHost>

<VirtualHost 12.34.56.78>
        ServerName newsite.com
        ServerAdmin webmaster@newsite.com
        DocumentRoot /var/newsite/
</VirtualHost>

<VirtualHost 12.34.56.78>
        ServerName panel.newsite.com
        ProxyPass / http://panel.newsite.com:10000/
        ProxyPassReverse / http://panel.newsite.com:10000/
</VirtualHost>

Проблема в том, что он не примет второй виртуальный хост с IP 12.34.56.78, потому что он говорит, что он уже существует. Panel.newsite.com и newsite.com имеют один и тот же IP-адрес ... поэтому я не уверен, как я могу сделать так, чтобы только URL-адрес "panel.newsite.com" передавался прокси на порт 10000, но никакой другой URL-адрес на сайте новостей .com

Виртуальный хост действительно не применяется к нескольким экземплярам одного и того же IP-адреса. Вам не нужно использовать конкретный IP-адрес, если ваш «NameVirtualHost» уже *.

Пытаться:

<VirtualHost *>
        ServerName newsite.com
        ServerAdmin webmaster@newsite.com
        DocumentRoot /var/newsite/
</VirtualHost>

<VirtualHost *>
        ServerName panel.newsite.com
        ProxyPass / http://panel.newsite.com:10000/
        ProxyPassReverse / http://panel.newsite.com:10000/
</VirtualHost>

Если директива виртуального хоста не уникальна (или не является подстановочным знаком), тогда в конфигурации по умолчанию используется первое совпадение, поэтому она не проходит мимо первого, поскольку IP-адрес переопределяет ServerName.