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 JKS)

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 giới thiệu cách cài đặt chứng chỉ SSL trên máy chủ Tomcat.

Lưu ý

Phiên bản Tomcat trong tài liệu này lấy tomcat 9.0.13 làm ví dụ. Trước khi cài đặt, vui lòng 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 mộ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) ở định 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 JKS để cài đặt và sử dụng chứng chỉ trong thư mục Tomcat.

  2. Thư mục Tomcat sẽ chứa ba tệp,

  • domain_com.jks tệp chứng chỉ
  • domain_com.key tệp khóa riêng
  • password.txt tệp mật khẩu chứng chỉ

Cài đặt chứng chỉ SSL

  1. Sao chép tệp chứng chỉ domain_com.jks đã 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.
  • Nếu phiên bản JDK của một số người dùng khác với phiên bản JDK của môi trường mà chúng tôi dùng để chuyển đổi tệp JKS, bạn có thể cần tự chuyển đổi tệp JKS trong môi trường đang sử dụng.

Vui lòng tham khảo lệnh dưới đây để chuyển đổi tệp JKS, lưu ý thay thế các tham số tương ứng:

keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword

Vui lòng thay thế domain.pfx (tệp pfx trong thư mục IIS) pfxpassword (mật khẩu của tệp pfx) domain.jks (tên của tệp jks sau khi chuyển đổi) pfxpassword (mật khẩu của tệp PFX)

  1. 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"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Đường dẫn chứng chỉ -->
keystorePass="Mật khẩu chứng chỉ" <! -- Vui lòng thay bằng nội dung trong tệp mật khẩu password.txt -->
clientAuth="false"/>
  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ó chính xác hay không.
./configtest.sh
  1. Khởi động lại Tomcat, thực hiện lệnh sau trong thư mục bin:
./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 an toàn, nhấp vào đó để xem thông tin chứng chỉ.

Hiệu quả chứng chỉ SSL

Cấu hình an toàn 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ể thiết lập theo các thao tá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. Vui lòng xuống dòng sau thẻ kết thúc </welcome-file-list> 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 dưới đây:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Lưu tệp cấu hình và chạy lệnh sau trong thư mục bin để xác nhận cấu hình có chính xác hay không.
./configtest.sh
  1. Nếu cấu hình không có vấn đề, chỉ cần khởi động lại máy chủ Tomcat là có thể truy cập bằng tên miền, thực hiện tự động chuyển hướng HTTP sang HTTPS.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器