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

Apache mod_proxy

Тьфу, я извергаюсь, что не могу понять этого, я так расстроен:

    <VirtualHost *:80>
        servername domain1.com.au
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Proxy *>
          Order Allow,Deny
          Allow from all
        </Proxy>

        RewriteEngine on
        ReWriteCond %{SERVER_PORT} !^443$
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

<VirtualHost *:443>

        servername domain1.com.au

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/owncloud.pem
        SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
        DocumentRoot /var/www/html

</VirtualHost>

<VirtualHost *:*>
        Servername domain2.com.au
        ProxyRequests Off
        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / https://192.168.1.12/
        ProxyPassReverse / https://192.168.1.12/
</VirtualHost>

Не уверен, что понятно, что я пытаюсь сделать, но я читал, читал и ЧИТАил, я все еще не могу понять.

В основном у меня есть рабочий сервер Apache с перезаписью, чтобы принудительно использовать HTTPS, как показано в первых двух записях VirtualHost. Теперь у меня есть служба веб-почты, которую я установил на другом сервере под другим доменным именем, однако у меня есть только один входящий общедоступный IP-адрес.

Итак, я пытаюсь получить любые входящие запросы для второго домена, которые будут проксироваться на другой сервер для доступа к веб-почте, независимо от его порта 80 или 443.

С IMAP и POP3 проблем нет, я могу просто перенаправить порты прямо на нужный сервер.

Результатом вышеуказанной конфигурации является то, что запросы к domain2.com.au (порт 80 или 443) перенаправляются на https://domain1.com.au.

Я иду в правильном направлении?

Вам нужно установить NameVirtualHost в вашей конфигурации для Servername чтобы быть эффективными.

NameVirtualHost *:80
NameVirtualHost *:443

Если вы не установите его, последний блок будет иметь приоритет и переопределить предыдущие конфигурации VirtualHost.

Видеть документация для подробностей.