Как вы можете изящно перезапустить Apache, не отключая SSL-соединения?


11

Мы пытаемся перезагрузить Apache изящно с помощью такой команды:

apache2ctl -k graceful

Это работает, как ожидается, для пользователей HTTP, и конфигурация Apache перезагружается, не затрагивая пользователей веб-сайта.

Однако мы обнаружили, что пользователи, обращающиеся к серверу по протоколу HTTPS, отключаются во время постепенной перезагрузки.

Как можно корректно перезагрузить Apache, не влияя на SSL-соединения?

В случае, если это помогает, мы используем HTTP 2 на Apache 2.4.20.


5
Ну, вы могли бы "перезагрузить" вместо перезапуска Apache. Предполагая, что вы выполняете такие вещи, как обмен ключами Диффи-Хеллмана, после перезапуска ключ, использованный в предыдущем «сеансе», больше не будет существовать, поэтому создаются новые. Другой вариант - установить какой-то балансировщик нагрузки, который также размещает ssl перед вашими серверами apache.
Гаррис Каван

Да, мы перезагружаемся (изящно) вместо перезапуска.
Джонс

5
Завершение SSL в HAProxy - это вариант для нас, если кто-нибудь может подтвердить, что это работоспособное решение?
Джонс

2
В настоящее время довольно часто иметь прокси-сервер или балансировщик нагрузки, завершающий ssl конечного пользователя. Затем для максимальной безопасности вы добавите ssl-шифрование внутри компании между apache и proxy's / loadbalancers.
Гаррис Каван

5
Теперь мы подтвердили ошибку как проблему с модулем HTTP2 в Apache 2.4.10, надеясь, что это может быть исправлено в апстриме. Когда мы отключаем HTTP2, Apache можно перезагрузить, не отключая пользователей SSL.
Джонс

Ответы:


1

Чтобы гарантировать, что HTTP-сеансы на основе H2 остаются одними (и не прекращаются) при выполнении apachectl -k graceful, обновите программное обеспечение Apache до версии 2.4.24 и пакет mod_h2 до версии 1.4.7.


Как только мы обновим и попробуем это, я сообщу. Спасибо
Джонс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.