Rất tiếc, không tìm thấy chứng chỉ máy chủ RSA hoặc DSA cho 'server.host.name 0'?


18

Tôi đang thiết lập một máy chủ web mới lưu trữ hàng tá máy chủ ảo trên Ubuntu 12.4 bằng Apache 2.2.22 với một tệp cấu hình trên mỗi trang. Tôi đã tạo tất cả các tệp cấu hình cùng một lúc và chạy a2ensite *để kích hoạt tất cả chúng cùng một lúc. Khi tôi tải lại cấu hình, nó không thành công và sau khi khởi động lại apache, tôi đã tìm thấy thông báo lỗi sau trong error.log:

Rất tiếc, không tìm thấy chứng chỉ máy chủ RSA hoặc DSA cho 'server.host.name 0'?!

Hầu hết các kết quả cho thông báo lỗi này đều đã cũ mà không khắc phục được sự cố hoặc là các lỗi đã được sửa https://issues.apache.org/ormszilla/show_orms.cgi?id=31709

Câu trả lời:



4

Vấn đề cuối cùng là ở một tệp cấu hình khác với máy chủ được liệt kê trong lỗi. Đó là do thực tế là có các giá trị ServerName trùng lặp trong hai trong số các tệp. Tôi đã sửa lỗi sai và nó bắt đầu sao lưu (tạm biệt nửa giờ đó) :-).

Để khắc phục sự cố này, tôi đã vô hiệu hóa tất cả các trang web và sau đó kích hoạt một vài lần cho đến khi tôi gặp lại sự cố.


1

Bạn cũng có thể nhận được lỗi này nếu bạn đang sử dụng một chứng chỉ có nhiều tên thay thế chủ đề, nhưng lệnh ServerNamenày không khớp với (các) giá trị CN hoặc SAN của chứng chỉ. CNTT thường là trường hợp nhà phát triển muốn có phiên bản phát triển của cùng một trang sản xuất, nhưng không có chứng chỉ thực sự cho trang phát triển.

Ví dụ trang web:
webserver.example.com
webserver-dev.example.com

Chứng chỉ:
CN = primaryserver.example.com
SANs = webserver.example.com, puppypies.example.com, kittens.example.com

Cấu hình sau đây sẽ gây ra lỗi này:
/etc/apache2/sites-enables/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enables/webserver-dev.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver-dev.example.com ...

Cấu hình sau giải quyết vấn đề này:
/etc/apache2/sites-enables/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enables/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost webserver-dev.example.com:443> ServerName webserver.example.com ...


0

FWIW, tôi lại gặp vấn đề này một lần nữa, dưới một chiêu bài khác.

Nếu bạn đang sử dụng chứng chỉ SSL ký tự đại diện, hãy đảm bảo rằng mục Virtualhost cho tên miền (domain.com) được liệt kê trước mọi thứ khác (foo.domain.com, bar.domain.com, v.v.).

Tôi đã thử điều cấu hình một lần và mọi thứ khác đều chạy tốt cho đến khi tôi thêm tệp này vào lại.

Sau đó, tôi đã nói rằng tên tệp cấu hình thấp hơn theo thứ tự abc so với tệp cấu hình có "định nghĩa miền chính". Thay đổi liên kết tượng trưng để nó được đặt sau def chính và mọi thứ hoạt động như một bùa mê.

Ví dụ thất bại trong danh sách:

foo.domain.conf
prim.domain.conf
something.domain.conf

Danh sách ví dụ làm việc:

prim.domain.conf
something.domain.conf
zfoo.domain.conf

HTH người khác :)

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.