Директива SSLProxyProtocol внутри секции <Proxy> - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь установить настройки SSL для проверок работоспособности на LoadBalancers. Согласно документации , директивы SSLProxy * должны работать внутри прокси-секции. Итак, что я пытаюсь сделать, это следующее (я пропустил неважные вещи конфигурации):

  <VHost ...>
    SSLProxyEngine on
    <Proxy balancer://mybalancer>
      SSLProxyProtocol [a protocol]
      SSLProxyCipherSuite  [a cipher suite]
      BalancerMember https://www.backend1.com hcinterval=1 hcmethod=get hcuri=/healthcheck1.php
      BalancerMember https://www.backend2.com hcinterval=1 hcmethod=get hcuri=/healthcheck2.php
   </Proxy>
  </VHost>

Таким образом, SSLProxyProtocol и SSLProxyCipherSuite не влияют на проверки работоспособности, но влияют на обычные запросы.

Если я переместу директивы до уровня VHost, проверки работоспособности будут выполнены с правильными настройками:

  <VHost ...>
    SSLProxyEngine on
    SSLProxyProtocol [a protocol]
    SSLProxyCipherSuite  [a cipher suite]
    <Proxy balancer://mybalancer>
      BalancerMember https://www.backend1.com hcinterval=1 hcmethod=get hcuri=/healthcheck1.php
      BalancerMember https://www.backend2.com hcinterval=1 hcmethod=get hcuri=/healthcheck2.php
   </Proxy>
  </VHost>

Но мне нужны разные настройки SSL / TLS для разных LoadBalancers. Я работаю с Apache версии 2.4.33.

Мне интересно, сталкивался ли кто-то с такими же проблемами или кто-то смог успешно настроить такую ​​конфигурацию?

1 Ответ

0 голосов
/ 04 сентября 2018

спасибо Янну и Армину за помощь в этом. он работает с патчем, представленным в этом отчете об ошибке:

https://bz.apache.org/bugzilla/show_bug.cgi?id=62556#c6

(требуется только приложение 36043, другой патч неправильный / не нужен!)

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

Если мы расширим вышеприведенное определение Proxy balancer: //, как показано ниже, оно будет работать: (после патча, конечно):

<Proxy balancer://mybalancer2 lbmethod=byrequests> 

Здесь мы можем взять любой из параметров lb и легко установить для него значение по умолчанию. (lbmethod = byrequests по умолчанию, поэтому ничего не меняется, кроме того, что работник правильно инициализирован).

полный, рабочий пример сверху:

<VHost ...>
    SSLProxyEngine on
    ProxyPass "/"  "balancer://mybalancer"
    ProxyPass "/2"  "balancer://mybalancer2"
    <Proxy balancer://mybalancer lbmethod=byrequests>
      SSLProxyProtocol [a protocol]
      SSLProxyCipherSuite  [a cipher suite]
      BalancerMember https://www.backend1.com hcinterval=1 hcmethod=get hcuri=/healthcheck1.php
      BalancerMember https://www.backend2.com hcinterval=1 hcmethod=get hcuri=/healthcheck2.php
   </Proxy>
    <Proxy balancer://mybalancer2 lbmethod=byrequests>
      SSLProxyProtocol [another protocol]
      SSLProxyCipherSuite  [another cipher suite]
      BalancerMember https://www.backend3.com hcinterval=1 hcmethod=get hcuri=/healthcheck1.php
      BalancerMember https://www.backend4.com hcinterval=1 hcmethod=get hcuri=/healthcheck2.php
   </Proxy>
</VHost>

патч должен быть включен в следующую версию, возможно, 2.4.35

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...