Вопрос или проблема
У меня есть 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, требует терпения и упорства, но с правильными шагами вы сможете наладить стабильную и безопасную работу вашего сервера.