proxy: error AH00898: Kesalahan saat SSL Handshake dengan server jauh


16

Saya memiliki server yang bertindak sebagai front-end untuk server surat cPanel di jaringan. Proxy apache pada server front-end berjalan selama 152 hari tanpa kesalahan maka tiba-tiba saya sekarang mendapatkan 500/502 kesalahan saat menggunakannya untuk mengakses klien webmail dari server surat.

Server front-end menggunakan sertifikat SSL yang ditandatangani, server cPanel menggunakan sertifikat yang ditandatangani sendiri. Berikut ini adalah output log kesalahan dari server front-end ketika pertama kali mulai terjadi:

[Tue Sep 10 18:22:52.959291 2013] [proxy:error] [pid 19531] (502)Unknown error 502: [client 173.xx.xx.xx:9558] AH01084: pass request body failed to 184.xx.xx.xx:2096 (184.xx.xx.xx), referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX

[Tue Sep 10 18:22:52.959469 2013] [proxy:error] [pid 19531] [client 173.xx.xx.xx:9558] AH00898: Error during SSL Handshake with remote server returned by /cpsess12385596/3rdparty/roundcube/, referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX

Server front-end adalah turunan EC2 yang menjalankan Apache/2.4.6 (Amazon) pengaturan VirtualHost Saya untuk proksi di server ini adalah sebagai berikut:

< VirtualHost *:2096> ServerName domain.com

SSLEngine on
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off

SSLCertificateFile /x/x/x/domain.com.crt
SSLCertificateKeyFile /x/x/x/domain.com.key
SSLCACertificateFile /x/x/x/domain.com.cabundle

ProxyPass / https://184.xx.xx.xx:2096/
ProxyPassReverse / https://184.xx.xx.xx:2096/
ProxyPassReverseCookieDomain 184.xx.xx.xx:2096 domain.com
ProxyPassReverseCookiePath / /

SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLURLMap https://184.xx.xx.xx:2096 /

< /VirtualHost>

Sejauh yang saya pikir tidak ada yang berubah pada server front-end, saya tidak melakukan pembaruan atau apa pun, setelah melihat masalah ini dan mengutak-atik tidak berhasil, saya mencoba memulai ulang pada kedua server tetapi tidak melakukan apa pun untuk memperbaikinya.

Ada saran?

Jawaban:


32

Datang di masalah yang sama dengan versi Server: Apache / 2.4.6

Sesuai dokumentasi di [1], " Pada 2.4.5 dan yang lebih baru, SSLProxyCheckPeerCN telah digantikan oleh SSLProxyCheckPeerName, dan pengaturannya hanya diperhitungkan saat menonaktifkan SSLProxyCheckPeerName pada saat yang sama ."

Jadi menambahkan entri berikut melakukan trik:

SSLProxyCheckPeerName mati

Jadi konfigurasi kerja saya seperti ...

    ProxyRequests Off

    SSLEngine On
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off

    SSLCertificateFile /x/x/keys/server.crt
    SSLCertificateKeyFile /x/x/keys/server.key

[1] http://httpd.apache.org/docs/2.4/mod/mod_ssl.html


1
Perhatikan bahwa "SSLEngine On" tidak berkaitan dengan bagian proxy dari konfigurasi, tetapi dengan melayani permintaan ini melalui SSL / TLS, meskipun itu dikelompokkan dengan opsi konfigurasi proxy.
— Perseids

14

Jika server backend menggunakan sertifikat yang ditandatangani sendiri yang sudah kedaluwarsa, satu opsi lagi diperlukan (jika tidak ada akses ke server backend):

SSLProxyCheckPeerExpire off

Ini berfungsi untuk saya memigrasi proxy terbalik dari apache 2.2 ke 2.4
— Segolas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.