Тьфу, я извергаюсь, что не могу понять этого, я так расстроен:
<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.
Видеть документация для подробностей.