Chứng chỉ RSA được định cấu hình cho SERVER KHÔNG bao gồm ID khớp với tên máy chủ


28

Gần đây tôi đã bắt đầu một máy chủ LAMP (tất cả các phiên bản mới nhất) có WordPress và tôi đang cố gắng cài đặt chứng chỉ SSL mà tôi đã mua gần đây. Khi tôi khởi động lại apachectl, error_log đưa cho tôi cái này:

[Tue Feb 25 01:07:14.744222 2014] [mpm_prefork:notice] [pid 1744] AH00169: caught SIGTERM, shutting down
[Tue Feb 25 01:07:17.135704 2014] [suexec:notice] [pid 1765] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 25 01:07:17.217424 2014] [auth_digest:notice] [pid 1766] AH01757: generating secret for digest authentication ...
[Tue Feb 25 01:07:17.218686 2014] [lbmethod_heartbeat:notice] [pid 1766] AH02282: No slotmem from mod_heartmonitor
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysql.so' - /usr/lib64/php/5.5/modules/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysqli.so' - /usr/lib64/php/5.5/modules/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Tue Feb 25 01:07:17.305292 2014] [mpm_prefork:notice] [pid 1766] AH00163: Apache/2.4.6 (Amazon) OpenSSL/1.0.1e-fips PHP/5.5.7 configured -- resuming normal operations
[Tue Feb 25 01:07:17.305378 2014] [core:notice] [pid 1766] AH00094: Command line: '/usr/sbin/httpd'

Trong khi ssl_error_log cho tôi điều này:

[Tue Feb 25 00:57:15.802287 2014] [ssl:warn] [pid 1705] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name
[Tue Feb 25 00:57:15.899327 2014] [ssl:warn] [pid 1706] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name

Tôi đã thay đổi "Tên máy chủ" ssl.confthành tên máy chủ của mình (dcturano.com) và khởi động lại apachectl, nhưng lỗi này xảy ra. Bất cứ ý tưởng tại sao?

Bên cạnh đó, tôi chưa đặt CommonName của máy chủ, đó có phải là vấn đề không?

Câu trả lời:


45
openssl x509 -in server.crt -noout -subject

Nên trả lại CN cho giấy chứng nhận. Đó là tên bạn phải sử dụng trong lệnh ServerName và để kết nối.


# openssl x509 -in server.crt -noout -subject Lỗi mở Chứng chỉ máy chủ.crt 140451499632288: error: 02001002: thư viện hệ thống: fopen: Không có tệp hoặc thư mục như vậy: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: lỗi: 20074002: Các thói quen của BIO: FILE_CTRL: system lib: bss_file.c: 400: không thể tải chứng chỉ
jmituzas

1
@jmituzas, bạn nên thay đổi server.crttrong openssl x509 -in server.crt -noout -subjectđể sắp xếp server.crt của bạn
avivmg

4
Thực tế tất cả các CA công cộng hiện nay đều phát hành certs với tiện ích mở rộng SubjectAlternativeName và bạn có thể sử dụng bất kỳ hoặc tất cả các tên trong tiện ích mở rộng đó (hoặc bất kỳ tên nào khớp với ký tự đại diện). OpenSSL không hiển thị SAN một cách cô lập, nhưng bạn có thể làm một cái gì đó nhưopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thedom_085

1
Ngoài ra, hãy đảm bảo bạn thêm chỉ thị ServerName và không chỉ đặt địa chỉ của máy chủ ảo (hóa ra là vấn đề trong trường hợp của tôi).
hugovdberg

Điều đó đã lừa Sao chép giá trị CN localhosttừ đầu ra sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectnhư ServerName localhosttrong sudo nano /etc/httpd/conf.d/ssl.conf. Tôi đang sử dụng centos 7 trong vagrant.
Damodar Bashyal

2

Ngoài ra, nếu như tôi, bạn thậm chí không sử dụng ssl, bạn vẫn sẽ nhận được thông báo lỗi này vì sử dụng ssl được bật theo mặc định. Trong trường hợp đó, tắt nó đi! Đây là một đoạn trích từ config.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off

7
Tôi đánh giá câu trả lời của bạn xuống vì câu hỏi nói rõ rằng anh ấy đã mua một chứng chỉ. Tôi thường không mua những thứ tôi không có ý định sử dụng.
hugovdberg

2

Tôi đã có cùng một vấn đề nhưng đó là vì một lý do khác. Tôi đăng nó ở đây cho các nhân viên của Google trong tương lai:

trên tập tin cấu hình apache2 của tôi, thay vì có <VirtualHost *:443>, tôi đã có <VirtualHost *:80>. Ngay sau khi tôi sửa nó, trang web đã hoạt động trở lại.


1

Tôi đã kích hoạt vấn đề này thông qua /etc/hoststập tin của tôi .

Tôi đã có một máy chủ ảo, hãy gọi nó là www.effinwhthing.com

Tên máy chủ của máy chủ là www2 .

Tôi đã thêm một dòng vào /etc/hostsđể tôi có thể cuộn các công cụ chống lại máy chủ ảo:

192.168.1.200         www.effinwhatever.com

Ngay sau khi tôi xóa dòng đó khỏi /etc/hostsmáy chủ, máy chủ Apache của tôi đã bắt đầu phục vụ bình thường trở lại (với việc khởi động lại dịch vụ). Kỳ dị.

Cũng có thể có liên quan rằng chứng chỉ SSL của tôi dành cho miền ký tự đại diện.


0

Tôi đã có cùng một chứng chỉ AH01909: RSA . Trong trường hợp của tôi, tôi đã có serverNamegiá trị chính xác .

Nguyên nhân gây ra lỗi là một địa chỉ IP không chính xác trong <VirtualHost 10.11.12.13:443>định nghĩa cho trang web bảo mật. Tôi đã đánh lừa nó!


-1

Hãy chắc chắn rằng Tên máy chủ của bạn giống hệt với openssl x509 -in server.crt -noout -subjectđầu ra. nếu có www, ServerName cũng cần một cái. nếu không, ServerName phải xóa www.

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.