Cài đặt chứng chỉ SSL trên máy chủ Tomcat (định dạng PFX)
Bạn có thể cài đặt chứng chỉ SSL lên máy chủ Tomcat để máy chủ Tomcat hỗ trợ truy cập an toàn HTTPS. Bài viết này hướng dẫn cách cài đặt chứng chỉ SSL trên máy chủ Tomcat.
Ghi chú
Phiên bản Tomcat trong tài liệu này lấy tomcat9.0.13 làm ví dụ.
Trước khi cài đặt, hãy xác nhận cổng 443 chưa bị chiếm dụng. Nếu cổng 443 đã được sử dụng, vui lòng liên kết cổng khác khi cài đặt chứng chỉ.
Lấy chứng chỉ
- Sau khi chúng tôi ký cấp chứng chỉ cho bạn, bạn sẽ nhận được tệp chứng chỉ (.zip) dạng nén. Trong gói nén có bốn thư mục tương ứng với bốn định dạng chứng chỉ: Tomcat, Nginx, IIS, Apache; tài liệu này sử dụng định dạng PFX để cài đặt nên cần dùng chứng chỉ trong thư mục IIS. (Các thư mục khác nhau chỉ khác định dạng tệp, việc dùng tệp trong thư mục khác không xung đột)
- Thư mục IIS sẽ chứa ba tệp,
- Tệp chứng chỉ
domain_com.pfx - Tệp khóa riêng
domain_com.key - Tệp mật khẩu chứng chỉ
password.txt
Cài đặt chứng chỉ SSL
- Sao chép tệp chứng chỉ
domain_com.pfxđã lấy được từ thư mục cục bộ vào thư mục/usr/tomcat9.0.13/confcủa máy chủ Tomcat. Tên đường dẫn của các phiên bản Tomcat khác nhau sẽ có đôi chút khác biệt, vui lòng thao tác theo đường dẫn tương ứng với dịch vụ của bạn. - Chỉnh sửa tệp
server.xmltrong thư mục/usr/tomcat9.0.13/conf. Thêm thuộc tínhConnectorvào tệpserver.xml, nội dung như sau:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- đường dẫn đến chứng chỉ -->
keystoreType="PKCS12"
keystorePass="mật khẩu chứng chỉ" <! -- vui lòng thay thế bằng nội dung trong tệp mật khẩu password.txt -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
- Lưu tệp cấu hình, thực thi lệnh sau trong thư mục
binđể xác nhận cấu hình có đúng không.
./configtest.sh
- Khởi động lại Tomcat, trong thư mục
binthực thi lệnh sau:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
Kiểm tra chứng chỉ SSL
Nhập tên miền đã liên kết chứng chỉ SSL vào thanh địa chỉ trình duyệt để kiểm tra xem chứng chỉ SSL của bạn đã được cài đặt thành công hay chưa. Nếu thành công, thanh địa chỉ trình duyệt sẽ hiển thị biểu tượng ổ khóa bảo mật, nhấp vào đó để xem thông tin chứng chỉ.

Cấu hình bảo mật tự động chuyển hướng HTTP sang HTTPS (tùy chọn)
Nếu bạn cần tự động chuyển hướng yêu cầu HTTP sang HTTPS, bạn có thể thực hiện cài đặt theo các bước sau:
- Chỉnh sửa tệp
web.xmltrong thư mục/usr/tomcat9.0.13/conf, tìm thẻ</welcome-file-list>. - Sau thẻ kết thúc
</welcome-file-list>, hãy xuống dòng và thêm nội dung sau.
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Chỉnh sửa tệp
server.xmltrong thư mục/usr/tomcat9.0.13/conf, sửa tham sốredirectPortthành cổngconnectorcủa SSL, tức là cổng 443. Như minh họa bên dưới:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
- Lưu tệp cấu hình, thực thi lệnh sau trong thư mục
binđể xác nhận cấu hình có đúng không.
./configtest.sh
- Nếu cấu hình không có vấn đề gì, chỉ cần khởi động lại máy chủ Tomcat để truy cập bằng tên miền, tự động chuyển hướng HTTP sang HTTPS.
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器