Я застрял, пытаясь настроить обратный прокси-сервер SSL с Apache

Я настраиваю обратный прокси-сервер Apache SSL для вызова внутреннего сервера, чьи у меня клиентские сертификаты и ключи, из промежуточного программного обеспечения. Коротко:

               http               https
middleware -----------> proxy -------------> backend

Промежуточное программное обеспечение даже не знает о бэкэнд-сервере, это хитрость обратного прокси.

Я (думаю, я) смог работать с прокси, потому что я получил

AH02268: Прокси-клиент обратный вызов сертификата: (localhost: 80) нисходящему серверу требуется сертификат клиента, но ни один из них не настроен поэтому я понимаю, что прокси-сервер пытается вызвать бэкэнд, но последний жалуется, что прокси-сервер не передает ему и сертификат.

Поэтому я не могу правильно настроить сертификаты. AFAIK Я должен скомпилировать раздел SSLCertificate * и SSLProxyMachineCertificate * из conf.d / mode-enabled / ssl.conf . Я попробовал этот способ

SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLEngine off
SSLProxyEngine on
SSLProtocol all

# proxy
SSLProxyMachineCertificateFile /usr/local/etc/apache2/ssl.crt/certificate.pem
SSLProxyMachineCertificateChainFile /usr/local/etc/apache2/ssl.crt/chain.pem
SSLProxyCACertificateFile /usr/local/etc/apache2/ssl.crt/ca.pem

# certificate
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /usr/local/etc/apache2/ssl.crt/all.pem
SSLCertificateChainFile /usr/local/etc/apache2/ssl.crt/certificate.pem

# key
SSLCertificateKeyFile /usr/local/etc/apache2/ssl.key/server.key
SSLPassPhraseDialog  exec:/usr/local/etc/apache2/pwf.sh

Несколько замечаний:

  • certificate.pem - это сертификат сервера.
  • chain.pem - это промежуточная цепочка сертификатов, исключая границы.
  • ca.pem - это сертификат корневого центра сертификации.
  • server.key - это закрытый ключ RSA

. Я заменил обычный режим диалога для ввода passaphrase скриптом pwf.sh. Но я даже не могу запустить apache, потому что у меня есть это сообщение

AH02252: неполный сертификат клиента, настроенный для SSL-прокси (отсутствует или зашифрованный закрытый ключ?) [ssl: emerg] [pid 12484]
AH02312: фатальная ошибка инициализация mod_ssl, выход. AH00016: Ошибка конфигурации

Теперь я прочитал (к сожалению), что нет способа преодолеть эту проблему, потому что, как сказано на сайте apache.org, в соответствии со всеми директивами SSLProxyMachine *:

(В настоящее время нет поддержки зашифрованного частного ключи)

Я потерял?

0
задан 14 June 2020 в 19:07

1 ответ

You already realized yourself that there is no support for encrypted private keys. If you insist on using encrypted private keys you are lost. If it is acceptable to provide the private key in plain do this. To convert the encrypted private key into a plain key use (for RSA keys)

  openssl rsa -in encrypted_key.pem -out decrypted_key.pem
1
ответ дан 19 June 2020 в 21:24

Другие вопросы по тегам:

Похожие вопросы: