Điểm:1

Gunicorn/Flask từ chối chứng chỉ SSL giống hệt hoạt động tốt với Apache

lá cờ in

Điều gì sẽ khiến máy chủ Gunicorn chạy ứng dụng Flask báo cáo lỗi "không xác định chứng chỉ cảnh báo sslv3" trong trình duyệt, khi máy chủ Apache chạy ứng dụng WSGI, sử dụng cùng một chứng chỉ trên cùng một máy, báo cáo không có sự cố?

Dịch vụ Gunicorn đang lưu trữ từ tên miền https://mysub.example.com:1234 trong khi dịch vụ Apache lưu trữ từ cổng tiêu chuẩn 80 tại https://mysub.example.com.

Cả hai dịch vụ đều được lưu trữ trên cùng một máy chủ vật lý và tải chứng chỉ SSL ký tự đại diện tại /etc/ssl/certs.

Nhật ký từ Gunicorn/Flask không cung cấp nhiều phản hồi và chỉ hiển thị:

[23-06-2021 12:55:34 -0500] [2320785] [DEBUG] Lỗi xử lý yêu cầu SSL.
[23/06/2021 12:55:34 -0500] [2320785] [DEBUG] Yêu cầu không hợp lệ từ ip=123.45.678.90: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] chứng chỉ cảnh báo sslv3 không xác định (_ssl.c:2633)

Máy chủ Gunicorn được điều hành thông qua Người giám sát với tư cách là người dùng dữ liệu www lệnh:

/usr/local/alphabuyer/.env/bin/gunicorn --certfile=/etc/ssl/certs/example.com.crt --keyfile=/etc/ssl/certs/example.com.key --bind 0.0. 0,0:1234 máy chủ: ứng dụng

Trong khi đó, cài đặt SSL cho cấu hình Apache là:

Công cụ SSL Bật
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/certs/example.com.key
SSLCACertificateFile /etc/ssl/certs/example.com.intermediate.crt
Giao thức SSL tất cả
SSLCipherSuite CAO:TRUNG BÌNH

Tôi đã kiểm tra các quyền trong /etc/ssl/certs, và chúng có vẻ đúng. Mọi thứ thuộc sở hữu của người dùng dữ liệu www chmod thành 600.

Tôi không thấy bất kỳ lý do nào khiến chứng chỉ sẽ được cung cấp chính xác bởi Apache chứ không phải bởi Gunicorn. Thông báo lỗi cho thấy không nhất thiết phải có bất cứ thứ gì Gunicorn đang phục vụ, mà là một lỗi hoặc một số tính năng được hỗ trợ với yêu cầu mà trình duyệt đang thực hiện. Tôi đang thiếu gì ở đây?

Điểm:0
lá cờ cz

Gunicorn (và hầu như mọi thứ khác làm TLS ngoại trừ Apache) yêu cầu chứng chỉ TLS của bạn được nối với các chứng chỉ trung gian trong một tệp.

Tạo tệp nối:

con mèo /etc/ssl/certs/example.com.crt /etc/ssl/certs/example.com.intermediate.crt > /etc/ssl/certs/example.com.chain.crt

Bây giờ hãy sử dụng nó trong dòng lệnh của bạn.

.... --certfile=/etc/ssl/certs/example.com.chain.crt ....
Điểm:0
lá cờ in

Vấn đề của tôi về cơ bản là một bản sao của câu hỏi nàyvà nguyên nhân cơ bản là chứng chỉ ứng dụng khách của tôi đã hết hạn.

câu trả lời này giải quyết vấn đề của tôi, bằng cách cập nhật địa phương của tôi chứng chỉ ca bưu kiện.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.