proxy: lỗi AH00898: Lỗi trong khi bắt tay SSL với máy chủ từ xa


16

Tôi có một máy chủ hoạt động như một giao diện người dùng cho máy chủ cPanel trong mạng. Proxy apache trên máy chủ ngoại vi đã chạy trong 152 ngày mà không có lỗi thì đột nhiên bây giờ tôi gặp lỗi 500/502 khi sử dụng nó để truy cập các ứng dụng webmail của máy chủ mails.

Máy chủ ngoại vi sử dụng chứng chỉ SSL đã ký, máy chủ cPanel đang sử dụng chứng chỉ tự ký. Đây là đầu ra nhật ký lỗi từ máy chủ ngoại vi khi lần đầu tiên bắt đầu xảy ra:

[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

Máy chủ ngoại vi là phiên bản EC2 chạy Apache/2.4.6 (Amazon) thiết lập My Virtualhost cho proxy trên máy chủ này như sau:

< 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>

Theo như tôi có thể nghĩ rằng không có gì thay đổi trên máy chủ front-end, tôi đã không thực hiện cập nhật hay bất cứ điều gì, một khi nhận thấy vấn đề này và không thành công, tôi đã thử khởi động lại trên cả hai máy chủ nhưng không làm gì để khắc phục điều này.

Bất kỳ đề xuất?

Câu trả lời:


31

Đã gặp vấn đề tương tự với phiên bản Máy chủ: Apache / 2.4.6

Theo tài liệu tại [1], " Trong 2.4.5 trở lên, SSLProxyCheckPeerCN đã được thay thế bởi SSLProxyCheckPeerName và cài đặt của nó chỉ được tính đến khi tắt SSLProxyCheckPeerName ."

Vì vậy, thêm mục sau đây đã lừa:

SSLProxyCheckPeerName tắt

Vì vậy, cấu hình làm việc của tôi trông giống như ...

    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
Lưu ý rằng "SSLEngine On" không liên quan đến phần proxy của cấu hình, nhưng với việc phục vụ yêu cầu này qua SSL / TLS, mặc dù nó được nhóm với các tùy chọn cấu hình proxy.
Perseids

14

Nếu máy chủ phụ trợ sử dụng chứng chỉ tự ký hết hạn, cần thêm một tùy chọn (nếu không có quyền truy cập vào máy chủ phụ trợ):

SSLProxyCheckPeerExpire off

Điều này làm việc cho tôi khi chuyển một proxy ngược từ apache 2.2 sang 2.4
Segolas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.