Xử Lý Sự Cố Chứng Chỉ SSL và ServBay CA
Tài liệu này cung cấp các vấn đề thường gặp và cách khắc phục liên quan đến chứng chỉ SSL và ServBay CA trong môi trường phát triển nội bộ sử dụng ServBay.
Tại sao khi mở trình duyệt lại báo chứng chỉ SSL không đáng tin cậy?
Khi bạn truy cập website nội bộ được quản lý bởi ServBay trong trình duyệt và nhận thông báo cảnh báo như bên dưới, thường là do cấu hình chứng chỉ SSL có vấn đề:
- Chrome / Edge:
Your connection is not private
(Kết nối của bạn không an toàn)- Mã lỗi
NET::ERR_CERT_AUTHORITY_INVALID
- Mã lỗi
NET::ERR_CERT_COMMON_NAME_INVALID
(Hiếm gặp, nhưng có thể xảy ra nếu tên miền không khớp với chứng chỉ)
- Firefox:
Warning: Potential Security Risk Ahead
(Cảnh báo: Nguy cơ bảo mật phía trước)- Sau khi nhấn “Nâng cao” có thể gặp mã lỗi
SEC_ERROR_UNKNOWN_ISSUER
- Mã lỗi
SSL_ERROR_BAD_CERT_DOMAIN
(Nếu chứng chỉ không khớp với tên miền)
- Safari:
This Connection Is Not Private
(Kết nối này không riêng tư)Safari can't verify the identity of the website "your-domain.test"
(Safari không thể xác minh danh tính của website "your-domain.test")
Nguyên nhân chính của vấn đề này là ServBay User CA
và ServBay Public CA
chưa được cài đặt và tin cậy đúng cách. Điều này có thể do:
- Chứng chỉ gốc của ServBay chưa được thêm vào danh sách tin cậy của hệ thống.
- Bạn đã từng sử dụng cùng tên miền (ví dụ:
myapp.test
) với các môi trường phát triển nội bộ khác như MAMP hoặc Laravel Herd. Chứng chỉ của các công cụ này xung đột với chứng chỉ của ServBay, hoặc hệ thống chứng chỉ của chúng gặp lỗi khiến trình duyệt lưu thông tin không chính xác về chứng chỉ/tin cậy.
Giải pháp
Hãy thực hiện theo các bước sau:
- Mở ServBay
- Chuyển tới Cài đặt (Settings), tìm đến khu vực ServBay Root CA.
- Nhấn vào Cài đặt lại ServBay Root CA (Reinstall ServBay Root CA) ServBay sẽ tự động sửa lỗi cài đặt và tin cậy chứng chỉ gốc.
- Đóng hoàn toàn và mở lại trình duyệt của bạn (đảm bảo mọi cửa sổ và tiến trình đã tắt để xoá trạng thái SSL đã lưu).
- Truy cập lại website. Lúc này lỗi chứng chỉ SSL nên đã được xử lý.
Nếu vấn đề vẫn còn:
Thông thường hệ thống đang lưu các chứng chỉ cũ, xung đột hoặc không hợp lệ - đặc biệt nếu bạn từng dùng các công cụ khác (như MAMP/Herd) để tạo chứng chỉ cho cùng một tên miền.
- Mở công cụ quản lý chứng chỉ của hệ thống:
- macOS: Mở ứng dụng Keychain Access (trong "Applications" > "Utilities").
- Windows: Nhấn Win+R, nhập
certmgr.msc
và nhấn Enter để mở trình quản lý chứng chỉ.
- Tìm ở ô tìm kiếm góc trên (search box), nhập tên miền gặp lỗi (ví dụ
myapp.test
, hoặc thử tìmmamp
,herd
nếu chưa rõ, để lục các tổ chức cấp chứng chỉ liên quan). - Ở mục đầu trang "Loại", chọn Certificates (Chứng chỉ) để lọc.
- Trong kết quả, tìm tất cả chứng chỉ SSL liên quan đến tên miền bạn đã nhập. Đặc biệt chú ý đến trường "Issuer (Tổ chức cấp phát)" như
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
hoặc tên khác. - Chọn các chứng chỉ liên quan tới tên miền (đặc biệt những chứng chỉ không do
ServBay User CA
cấp hoặc trông có vẻ nghi vấn), rồi nhấn phímDelete
để xoá. Có thể hệ thống sẽ yêu cầu mật khẩu xác nhận. Hãy cẩn trọng, chỉ xoá chứng chỉ liên quan đến tên miền nội bộ của bạn. - (Tùy chọn, nhưng nên làm) Tìm lại trong Keychain Access chứng chỉ
ServBay User CA
vàServBay Public CA
, đảm bảo chứng chỉ tồn tại và không có biểu tượng "x" màu đỏ (bị từ chối). Nếu có dấu x đỏ, hãy double-click vào chứng chỉ, mở tab “Trust”, ở phần “When using this certificate” chọn “Always Trust (Luôn tin cậy)”. - Quay lại ứng dụng ServBay.
- Vào Cài đặt (Settings) -> ServBay Root CA.
- Nhấn Tạo lại tất cả chứng chỉ người dùng ServBay (Recreate All ServBay User Certificates). Thao tác này sẽ tạo chứng chỉ SSL mới cho tất cả site do ServBay quản lý.
- Khởi động lại máy tính của bạn để đảm bảo mọi dịch vụ và hệ thống đã nhận chứng chỉ mới.
- Mở lại trình duyệt, thử truy cập lại website.
Việc bổ sung các mã lỗi phổ biến giúp người dùng nhận diện nhanh vấn đề liên quan đến tin cậy chứng chỉ SSL, và tìm đúng cách xử lý.
Làm gì khi bị mất chứng chỉ SSL?
Khi phát triển website nội bộ với ServBay, đôi lúc bạn có thể gặp sự cố mất file chứng chỉ SSL của website. Điều này khiến server web (Nginx, Caddy hoặc Apache) không khởi động được, hoặc không load site thành công, và xuất hiện các lỗi liên quan đến chứng chỉ trong logs.
Miêu tả sự cố
Khi file chứng chỉ SSL (.crt và .key) được ServBay tự động cấp cho website nội bộ bị xóa hoặc mất, bạn có thể thấy thông báo lỗi trong logs của server như:
Thông báo lỗi Nginx:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Thông báo lỗi Caddy:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Thông báo lỗi Apache:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
Thực chất các lỗi trên đều có nội dung chung: server web không truy cập, không tìm thấy file chứng chỉ SSL tại đường dẫn định sẵn.
Giải pháp
Với các chứng chỉ SSL tự động cấp phát cho website nội bộ bởi ServBay, bạn có thể dùng cơ chế tự động kiểm tra và cấp lại của ServBay để sửa lỗi mất chứng chỉ.
Thực hiện theo các bước sau đây:
- Mở ứng dụng ServBay: Đảm bảo ServBay đang chạy.
- Vào danh sách website: Trong sidebar ứng dụng, nhấn Website.
- Chọn website bị lỗi: Tìm website nội bộ gặp sự cố mất chứng chỉ và nhấn vào.
- Kiểm tra và cấp mới tự động: Khi ServBay load cấu hình website, nó sẽ kiểm tra nếu file chứng chỉ yêu cầu bị thiếu (như
.crt
,.key
). Nếu phát hiện mất chứng chỉ, ServBay sẽ tự động cấp phát lại và triển khai file chứng chỉ mới đúng vị trí (/Applications/ServBay/ssl/private/tls-certs/tên-miền-của-bạn/
). - Khởi động lại server web: Sau khi file chứng chỉ mới được tạo và triển khai thành công, cần khởi động lại package server web (Nginx, Caddy hoặc Apache) để nạp file chứng chỉ mới. Vào sidebar Gói phần mềm (Packages), tìm package web server bạn sử dụng, nhấn nút restart (biểu tượng mũi tên xoay vòng).
- Kiểm tra website: Sau khi server web restart thành công, truy cập lại site nội bộ qua HTTPS (ví dụ:
https://tên-miền-của-bạn
). Website sẽ hoạt động ổn định trở lại, kết nối HTTPS thành công.
Lưu ý
- Hướng dẫn trên áp dụng cho chứng chỉ SSL được ServBay tự động cấp phát cho website nội bộ. Nếu bạn dùng chứng chỉ tự nhập (custom SSL), khi mất file thì ServBay không tự động cấp lại — bạn cần tìm lại hoặc nhập lại chứng chỉ thủ công.
- ServBay sử dụng CA nội bộ ServBay User CA để cấp chứng chỉ website nội bộ giúp triển khai HTTPS local. Nếu khi truy cập site vẫn nhận cảnh báo không tin cậy, có thể CA ServBay chưa được hệ điều hành hoặc trình duyệt tin cậy. Xem hướng dẫn cấp quyền tin cậy ServBay CA.
- ServBay hỗ trợ backup dữ liệu, bao gồm file cấu hình website và chứng chỉ SSL. Sao lưu định kỳ giúp bạn nhanh chóng khôi phục khi có sự cố.
Hỏi Đáp (FAQ)
Q: Tại sao ServBay tự động cấp chứng chỉ SSL cho website nội bộ?
A: ServBay hướng tới cung cấp môi trường phát triển hoàn chỉnh. Để mô phỏng môi trường production và giúp dev tiện debug ứng dụng HTTPS, ServBay sử dụng CA nội bộ (ServBay User CA) để tự động cấp chứng chỉ SSL cho website bạn tạo, phục vụ truy cập HTTPS nội bộ.
Q: Tôi có thể sử dụng chứng chỉ SSL tự xin của mình không?
A: Có, ServBay hỗ trợ nhập và sử dụng chứng chỉ SSL của bạn (bao gồm chứng chỉ cấp qua ACME/Let's Encrypt). Hướng dẫn xử lý sự cố này chỉ áp dụng cho chứng chỉ tự động tạo bởi ServBay.
Q: Việc cấp lại chứng chỉ có an toàn không?
A: Có, trong môi trường phát triển nội bộ, các chứng chỉ cấp lại đều dùng CA nội bộ ServBay User CA nên chỉ có giá trị trong máy của bạn — không ảnh hưởng bảo mật website trên Internet.
Tổng Kết
ServBay cung cấp giải pháp quản lý chứng chỉ SSL thuận tiện cho môi trường phát triển nội bộ. Khi chứng chỉ SSL tự động cấp phát của ServBay cho site bị mất, chỉ cần làm vài thao tác đơn giản là hệ thống sẽ tự kiểm tra và cấp lại chứng chỉ mới, giúp bạn nhanh chóng khôi phục truy cập HTTPS cho website phát triển nội bộ.