Mặc định khi các bạn chạy Tomcat mà không có sự thay đổi cấu hình nào, nó chỉ support cho chúng ta giao thức thông thường HTTP. Để cấu hình Tomcat hỗ trợ SSL hoặc HTTPS, các bạn có thể thay đổi cấu hình của nó với sự hỗ trợ của Java keystore được generate sử dụng Java keytool. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé!
Có 2 bước chúng ta cần phải làm để cấu hình cho Tomcat hỗ trợ SSL hoặc HTTPS, đó là:
Bước đầu tiên, như mình nói, chúng ta sẽ cần phải sử dụng Java keytool để generate Java keystore. Các bạn có thể tham khảo bài viết này Sử dụng keytool để generate keystore trong Java để generate cho mình một Java Keystore.
Ở đây mình đã generate một keystore tên là tomcat_https nằm ở thư mục /Users/Khanh/Documents.
Các bạn có thể xem thông tin về keystore của mình bằng cách sử dụng câu lệnh -list của Java keytool như sau:
1 |
keytool -list -keystore <keystore_location> |
Kết quả:
Bước thứ hai mà chúng ta cần làm đó là modify tập tin server.xml nằm trong thư mục conf của Tomcat.
Chúng ta sẽ thêm mới một Connector sử dụng HTTPS protocol sử dụng tập tin keystore mà chúng ta đã generate ở trên. Nội dung chúng ta cần thêm như sau:
1 2 3 4 5 |
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/Users/Khanh/Documents/tomcat_https" keystorePass="123456" /> |
trong đó giá trị của keystoreFile là đường dẫn tới tập tin keystore, còn keystorPass là mật khẩu mà chúng ta đã set khi generate tập tin keystore các bạn nhé!
Bây giờ thì nếu các bạn start hoặc restart lại Tomcat:
rồi truy cập đến địa chỉ https://localhost:8443/, các bạn sẽ thấy như sau:
Như vậy là chúng ta đã cấu hình Tomcat hỗ trợ SSL hoặc HTTPS thành công rồi đó các bạn!