Tomcat trên Linux: Cài đặt SSL
Để cài đặt SSL cho Tomcat trên Linux bạn thực hiện như sau:
Nhập SSL được cấp vào keystore:
- Giải nén tập tin đính kèm mà bạn nhận được qua email hoặc tải trên website và upload lên server (gồm 2 tập tin tenmien.crt và tenmien.ca-bundle), lưu trong thư mục /usr/local/ssl/keystore (thư mục đã tạo ra trong lúc tạo CSR)
- Đăng nhập vào server với quyền root qua ssh. Sau đó di chuyển đến thư mục Java/bin
- Chạy lệnh:
keytool -import -trustcacerts -alias EVIntermediate -keystore /usr/local/ssl/keystore/server.jks -file /usr/local/ssl/keystore/tenmien.ca-bundle
- Nhập vào mật khẩu là “changeit” khi được hỏi.
- Chạy lệnh:
keytool -import -trustcacerts -alias tomcat -keystore /usr/local/ssl/keystore/server.jks -file /usr/local/ssl/keystore/tenmien.crt
- Nhập vào mật khẩu là “changeit” khi được hỏi.
- Chứng thư số đã được cài đặt thành công vào Keystore. Bạn có thể chạy lệnh sau để kiểm tra thông tin keystore:
keytool -list -keystore /usr/local/ssl/keystore/server.jks -v
Cấu hình SSL cho Tomcat
- Chuyển đến thư mục Tomcat. Tìm tập tin server.xml mà Tomcat đang sử dụng và mở ra để chỉnh sửa.
- Cập nhật lại đường dẫn trong đoạn sau đây:
clientAuth="false" sslProtocol="TLSv1" keyAlias="tomcat" keystoreFile="/usr/local/ssl/keystore/server.jks"
keystorePass="your_keystore_password" /> - Lưu ý sửa port 8443 thành port 443
- Nếu bạn muốn hỗ trợ TLS 1.1 và TLS 1.2 (nếu server của bạn là Tomcat >=7), bạn có thể thay đổi phần sslProtocols phía trên thành: sslProtocols="TLSv1,TLSv1.1,TLSv1.2"
- Mở port 443 trên Firewall (Nếu bạn dùng software firewall như iptables chẳng hạn thì có thể tìm thấy file config tại: /etc/sysconfig/iptables)
- Khởi động lại Tomcat.
Mẹo: Dùng PFX
Cấu hình dùng PFX trong Tomcat
Tải phiên bản PFX trên máy chủ của chúng tôi hoặc tự chuyển đổi sang PFX
Cập nhật tham số sau ở tập tin server.xml
<Connector port="443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/mydomain.pfx" keystorePass="your_keystore_password" keystoreType="PKCS12"/>