Не совсем.Прежде всего, есть много вещей, которые не так в этой конфигурации.Давайте сначала исправим это:
Listen 80
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DebugLevel error
ErrorLog "logs/80_error_log"
AccessLog "logs/80_access_log" combined
DocumentRoot "/SOMEDIRECTORY"
</VirtualHost>
Listen 443
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
DebugLevel error
ErrorLog "logs/443_error_log"
AccessLog "logs/443_access_log" combined
# SSL CERTIFICATES CONFIGURATION HERE
ProxyPass "/" "http://aaa.xyz.com:1000/fff"
ProxyPassReverse "/" "http://aaa.zyx.com:1000/fff"
</VirtualHost>
Предполагается, что вы загрузили модули:
- mod_proxy
- mod_proxy_http
- mod_ssl
О портах
Порт используется для открытия соединений с сервером, а затем для связи с ним.То, как вы говорите с ним, должно совпадать между клиентом и сервером.Было решено, что порт 80 будет использоваться для http, а порт 443 - для https.Если вы отправите какой-то другой трафик на эти порты, Apache не будет знать, что с ним делать, так как он ожидает HTTP (s) запросов.
Клиент переходит на http://www.example.com
или http://example.com
Первый VirtualHost используется, так как домен и порт совпадают (порт http по умолчанию равен 80).Запрашиваемая веб-страница берется из каталога DocumentRoot
.
Клиент переходит на https://www.example.com
или https://example.com
Второй VirtualHost используется, так как домени порт совпадает (порт https 443 по умолчанию).
Затем конфигурация прокси n:
- Apache «становится клиентом» и отправляет запрос на
http://aaa.xyz.com:1000/fff
и ожидаетответ, как это сделал бы браузер. - Когда Apache получает ответ, он удаляет ссылки на
aaa.xyz.com
в файлах ответов и отправляет их в браузер клиента. - по сутиApache скрывает
aaa.xyz.com
, поэтому с точки зрения браузера клиента все запросы по-прежнему отправляются в - и из - www.example.com
.
Я предлагаю вам прочитать https://www.guru99.com/apache.html, а затем http://httpd.apache.org/docs/2.4/mod/mod_proxy.html