Не удалось настроить прокси Apache с HTTPS

Вопрос или проблема

У меня есть apache прокси-сервер, который используется для перенаправления моего HTTP сайта на разные серверы. Все работает хорошо для HTTP сайтов.

У меня есть Exchange Server 2013, и я хотел бы получить доступ к OWA (https://my.domain.com/owa) из интернета через мой apache прокси-сервер, но я получаю сообщение об ошибке 502, когда пытаюсь получить доступ к URL:

сообщение об ошибке прокси 502

Вот моя конфигурация виртуального хоста:

<VirtualHost *:*>

    ServerName my.domain.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLProxyEngine on
    SSLCertificateFile /var/www/certs/webmail.crt
    SSLCertificateKeyFile /var/www/certs/webmail.key

    ProxyRequests Off
    ProxyPreserveHost on
    ProxyPass / https://192.168.1.50/
    ProxyPassReverse / https://192.168.1.50/

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

Вот мой /var/log/apache2/error.log:

[Ср Янв 31 17:13:12.992025 2018] [proxy_http:error] [pid 15213:tid
140120288065280] (103)Ошибка программного обеспечения вызвала прерывание соединения: [клиент
80.12.xx.xxx:55964] AH01102: ошибка чтения строки состояния с удаленного сервера 192.168.1.50:443

[Ср Янв 31 17:13:12.992179 2018] [proxy:error] [pid 15213:tid
140120288065280] [клиент 80.12.xx.xxx:55964] AH00898: Ошибка чтения
с удаленного сервера, возвращенного по адресу /owa

Не могли бы вы помочь мне разобраться?

Большое спасибо

Возможно, вам стоит взглянуть сюда:

Увеличение таймаутов, добавив timeout=7200 к директиве ProxyPass, помогло в моем случае:

ProxyPass / https://192.168.1.50/ timeout=7200

Ответ или решение

Конфигурация Apache в качестве обратного прокси для доступа к OWA (Outlook Web App) на Exchange Server 2013 через HTTPS может быть сложной задачей, особенно если возникают ошибки. В вашем случае ошибка 502 ("Bad Gateway") указывает на проблемы с подключением к внутреннему серверу (192.168.1.50), который обрабатывает запросы OWA.

Возможные причины и решение проблемы

1. Проверка доступности внутреннего сервера

Прежде всего, убедитесь, что сервер Exchange доступен из вашего Apache-сервера. Вы можете выполнить простую проверку, используя команду curl:

curl -I https://192.168.1.50/owa

Если запрос также выдает ошибку, это указывает на проблемы с самим сервером Exchange (например, несоответствующая конфигурация, отключенная служба, проблемы с сертификатами и так далее). Убедитесь, что Exchange Server отвечает на HTTP(S) запросы корректно.

2. Настройка SSL

Ваш текущий конфигурационный файл содержит основные параметры SSL, однако посмотрите, не требуется ли дополнительная настройка, включая параметры проверки сертификата.

Возможно, у вас возникла проблема, если сертификат на Exchange Server самоподписанный. Чтобы разрешить такие сертификаты, вы можете добавить следующие параметры в конфигурацию:

SSLProxyCheckPeer Off
SSLProxyCheckPeerName Off

Таким образом, Apache не будет проверять сертификат по имени и избегать ошибок, связанных с недействительными сертификатами.

3. Отладка ошибок Apache

Ошибки, указанные в вашем журнале Apache, могут свидетельствовать о том, что Apache не может правильно взаимодействовать с сервером Exchange. Для получения более подробной информации о проблеме можно изменить уровень журналирования, добавив настройки в конфигурации:

LogLevel debug

Это позволит выводить более детальные сообщения об ошибках в журнал, что может помочь лучше понять причины сбоя.

4. Таймауты

Ошибка может также быть связана с недостаточными таймаутами при ожидании ответа от сервера. Вы упомянули, что добавление timeout=7200 помогло. Это решение позволяет серверу Apache ожидать ответа от Exchange в течение 7200 секунд (2 часа). Вы можете обновить вашу директиву ProxyPass, чтобы она выглядела следующим образом:

ProxyPass / https://192.168.1.50/ timeout=7200
ProxyPassReverse / https://192.168.1.50/

Эта настройка должна помочь избежать закрытия соединений до получения ответа.

5. Перезапуск сервера Apache

После внесения изменений в конфигурацию не забудьте перезапустить сервер Apache для применения изменений:

sudo systemctl restart apache2

Заключение

Теперь вы вооружены рядами шагов и проверок, которые помогут устранить ошибку 502 при обращении к OWA через Apache Proxy. Основное внимание следует уделить доступности сервера, корректной конфигурации SSL, уровню журналирования и таймаутам.

Если проблема не устраняется, вы можете обратиться к документации Apache или сообществу поддержки Exchange для дополнительной помощи.

Понимание и решение проблем, связанных с прокси-серверами и HTTPS, требует терпения и упорства, но с правильными шагами вы сможете наладить стабильную и безопасную работу вашего сервера.

Оцените материал
Добавить комментарий

Капча загружается...