Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Sửa lỗi: "Server certificate does NOT include an ID which matches the server name" trên Apache

Khi cấu hình SSL cho server chạy Apache (hoặc công nghệ hosting web tương tự), bạn có thể gặp cảnh báo: "server certificate does NOT include an ID which matches the server name" (chứng chỉ server không chứa ID khớp với tên server). Về mặt kỹ thuật đây chỉ là cảnh báo và bạn có thể làm việc quanh nó.

Tuy nhiên, tốt hơn là dành chút thời gian troubleshooting để mọi thứ hoạt động bình thường. Khi tên server và chứng chỉ đã khớp, bạn không cần lặp lại các bước này khi cập nhật hệ thống. Bạn có thể cần tái tạo một số thứ nếu chỉnh sửa file đơn giản không giải quyết được, nhưng sau khi làm xong bạn sẽ không phải cấu hình file thêm nữa.

Cách 1: Chỉnh sửa file httpd.conf

Hãy xem qua file Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache — có thể ở vị trí khác nếu bạn dùng Apache trên Fedora, Red Hat hoặc CentOS. Server Debian/Ubuntu thường có file tại địa chỉ đầu tiên. Tìm văn bản chứa cảnh báo server certificate does NOT include an ID which matches the server name.

Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache

Bạn có thể thấy nó ném ra số 443 hoặc số khác sau mỗi phần của địa chỉ IP nhưng không có vấn đề SSL khác. Trong trường hợp này, bạn có thể chưa nói cho Apache biết lắng nghe trên cổng nào. Chạy
Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache và tìm dòng Listen 80. Dưới dòng đó, thêm Listen 443 hoặc số cổng khác bạn cần. Sau khi lưu và đóng file, dùng Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache để khởi động lại tiến trình httpd.

Người dùng Ubuntu/Debian có thể không có file này hoặc file rỗng, khác với Fedora/RHEL. Lúc đó, dùng
Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache để chỉnh sửa file văn bản cần thiết để thêm cổng lắng nghe.

Trong nhiều trường hợp, cách này đã khắc phục xong. Nếu chưa, hãy kiểm tra các vấn đề mạng liên quan trước khi kiểm tra chứng chỉ.

Cách 2: Tái tạo chứng chỉ mới

Cảnh báo này cũng xuất hiện nếu bạn làm việc với chứng chỉ tự ký đã hết hạn. Nếu cần tái tạo, hãy thử dùng
Sửa lỗi:  Server certificate does NOT include an ID which matches the server name  trên Apache và tìm hai dòng đánh dấu File và KeyFile. Chúng cho biết vị trí file khóa chứng chỉ khi tạo chứng chỉ SSL.

Nếu bạn làm việc với tổ chức cấp chứng chỉ chuyên nghiệp (CA công cộng), hãy làm theo hướng dẫn cụ thể của đơn vị cấp phép. Ngược lại, bạn cần chạy:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout KeyFile -out File
thay KeyFile và File bằng nội dung lấy được từ lệnh cat trước. Bạn sẽ tìm thấy vị trí hai file khác nhau, làm đầu vào và đầu ra cho chứng chỉ.

Giả sử chúng đã cũ, việc này thường đủ để sửa lỗi, nhưng bạn có thể phải khởi động lại dịch vụ trước khi nó ngừng ném cảnh báo.

Bạn cũng có thể xem thêm thông tin về chứng chỉ hiện có để hỗ trợ troubleshooting. Để xem tên hiện tại trên chứng chỉ (đảm bảo khớp), chạy:
openssl s_client -showcerts -connect ${HOSTNAME}:443
(thay ${HOSTNAME} bằng hostname thực tế của bạn). Thay số 443 nếu cổng khác.

Nếu có nhiều chứng chỉ trên cùng thiết bị và cùng IP, chạy:
openssl s_client -showcerts -connect ${IP}:443 -servername ${HOSTNAME}
thay IP bằng IP thực và điền hostname. Lại nhắc, có thể phải thay 443 cho phù hợp.

Lưu ý: Bạn phải đảm bảo hostname chính xác được chỉ định làm alias hoặc common name khi tạo CSR ban đầu.