Chuyển tới nội dung chính

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ỉ

  1. 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)
  2. 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

  1. 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/conf củ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.
  2. Chỉnh sửa tệp server.xml trong thư mục /usr/tomcat9.0.13/conf. Thêm thuộc tính Connector vào tệp server.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"/>
  1. 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
  1. Khởi động lại Tomcat, trong thư mục bin thự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ỉ.

Hiệu quả chứng chỉ SSL

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:

  1. Chỉnh sửa tệp web.xml trong thư mục /usr/tomcat9.0.13/conf, tìm thẻ </welcome-file-list>.
  2. 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>
  1. Chỉnh sửa tệp server.xml trong thư mục /usr/tomcat9.0.13/conf, sửa tham số redirectPort thành cổng connector củ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" />
  1. 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
  1. 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 服务器