Situs web yang menggunakan protokol HTTP tanpa enkripsi rentan terhadap pencurian data. Browser menandai situs tersebut sebagai "Tidak Aman", yang dapat merusak kepercayaan pengguna dan membahayakan keamanan bisnis. Anda dapat mengaktifkan komunikasi HTTPS terenkripsi dengan menerapkan Sertifikat SSL pada server Tomcat yang berjalan di Windows. Topik ini menjelaskan cara menerapkan Sertifikat SSL pada server Tomcat yang berjalan di Windows serta memverifikasi koneksi HTTPS setelah pemasangan.
Catatan Penggunaan
Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:
Status sertifikat: Anda memiliki Sertifikat SSL yang dikeluarkan oleh Otoritas Sertifikat tepercaya. Jika sertifikat hampir kedaluwarsa atau telah kedaluwarsa, perbarui Sertifikat SSL terlebih dahulu.
Pencocokan nama domain: Pastikan sertifikat tersebut cocok dengan semua nama domain yang ingin diamankan. Untuk menambah atau mengubah nama domain, Anda dapat Membeli sertifikat resmi atau Menambahkan dan mengganti nama domain.
Nama domain yang cocok persis: Hanya berlaku untuk domain yang ditentukan.
example.comhanya melindungiexample.com.www.example.comhanya melindungiwww.example.com.
Nama domain wildcard: Hanya berlaku untuk subdomain tingkat pertama.
*.example.comberlaku untuk subdomain tingkat pertama sepertiwww.example.comdana.example.com.*.example.comtidak melindungi domain rootexample.comatau subdomain multi-level sepertia.b.example.com.
CatatanUntuk mencocokkan subdomain multi-level, bidang Bound Domains harus berisi domain yang tepat, seperti
a.b.example.com, atau domain wildcard yang sesuai, seperti*.b.example.com.Izin server: Anda harus menggunakan akun
Administratoratau akun dengan izin administrator.Resolusi nama domain: Rekaman DNS domain telah dikonfigurasi dan di-resolve ke Alamat IP publik server.
Dependensi lingkungan: Topik ini menggunakan Windows Server 2025 dan Tomcat 9.0.105 sebagai contoh. Jalur instalasi contoh untuk Tomcat adalah
C:\apache-tomcat-9.0.105.CatatanLangkah-langkah penerapan dapat berbeda tergantung pada versi sistem operasi atau server web Anda.
Prosedur
Langkah 1: Siapkan Sertifikat SSL
Buka halaman SSL Certificates. Pada kolom Actions untuk sertifikat target, klik More untuk membuka halaman detail sertifikat. Kemudian, pada tab Download, unduh sertifikat dengan Server Type Tomcat.
Ekstrak paket sertifikat yang diunduh. Paket tersebut berisi file sertifikat (.pfx atau .jks) dan file kata sandi (.txt).
CatatanJika Anda menggunakan alat seperti OpenSSL atau Keytool untuk menghasilkan file Permintaan Penandatanganan Sertifikat (CSR) saat meminta sertifikat, file kunci privat hanya disimpan di mesin lokal Anda. Paket sertifikat yang diunduh tidak berisi kunci privat. Jika kunci privat hilang, sertifikat tidak dapat digunakan. Anda harus membeli sertifikat baru dan menghasilkan CSR serta kunci privat baru.
Unggah file sertifikat dan kunci privat ke server Anda dan simpan di direktori eksternal yang aman. Jalur contoh dalam topik ini adalah
D:\cert.CatatanLangkah-langkah berikut menggunakan Instance ECS Alibaba Cloud sebagai contoh. Untuk jenis server lainnya, lihat dokumentasi resmi server tersebut.
Buka ECS console - Instances. Di bilah navigasi atas, pilih Wilayah dan kelompok sumber daya target.
Arahkan ke halaman detail instans. Klik Remote Connection dan pilih Connect Via Workbench. Ikuti petunjuk untuk masuk ke desktop server.
Klik menu Start di pojok kiri bawah server. Temukan dan buka This PC, Computer, atau File Explorer.
Di bawah Redirected Drives And Folders, klik ganda Workbench On ***. Seret file sertifikat dari mesin lokal Anda ke direktori ini, lalu klik kanan di dalam folder dan pilih Refresh.

Salin file objek ke direktori
D:\cert.PentingSaat Anda menyambung ulang atau keluar dari instans, Workbench secara otomatis melakukan purge terhadap semua file yang diunggah dari direktori Redirected Drives And Folders untuk mengosongkan ruang. Direktori ini hanya untuk transfer file. Jangan menyimpan file di direktori ini.
Langkah 2: Konfigurasikan lingkungan sistem dan jaringan
Buka port 443 di grup keamanan.
PentingJika server Anda diterapkan di platform cloud, pastikan grup keamanannya mengizinkan akses arah masuk pada port TCP 443. Jika tidak, layanan tidak dapat diakses dari Internet. Langkah-langkah berikut menggunakan ECS Alibaba Cloud sebagai contoh. Untuk platform cloud lainnya, lihat dokumentasi resminya.
Buka halaman ECS instance, pilih Wilayah tempat Instance ECS target berada, lalu klik nama instans untuk membuka halaman detail instans.
Klik , dan pastikan ada aturan dengan pengaturan berikut: Authorization Policy diatur ke Allow, Protocol Type adalah TCP, Destination Port Range adalah HTTPS (443), dan Authorization Object diatur ke Anywhere (0.0.0.0/0).
Jika aturan tersebut tidak ada, lihat Add a security group rule untuk menambahkan aturan yang sesuai ke grup keamanan target.
Buka port 443 di firewall server.
Masuk ke server Windows, klik menu Start di pojok kiri bawah, lalu buka Control Panel.
Klik .
Jika firewall dimatikan, seperti yang ditunjukkan pada gambar berikut, tidak diperlukan tindakan lebih lanjut.

Jika firewall aktif, ikuti langkah-langkah berikut untuk mengizinkan aturan HTTPS.
Di panel navigasi kiri, klik , lalu periksa apakah ada aturan masuk dengan Protocol TCP, Local Port 443, dan Action Block.
Jika aturan tersebut ada, klik kanan lalu pilih Properties. Pada tab General, ubah pengaturannya menjadi Allow The Connection lalu klik Apply.
Untuk informasi selengkapnya tentang konfigurasi firewall, lihat Configure firewall rules.
Langkah 3: Terapkan sertifikat pada server Tomcat
Edit file konfigurasi Tomcat
server.xmluntuk mengubah pengaturan terkait sertifikat. Jalur contohnya adalahC:\apache-tomcat-9.0.105\conf\server.xml.Contoh konfigurasi Tomcat 9.0 format PFX
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- Ganti D:/cert/example.com.pfx dengan jalur aktual ke sertifikat Anda. Ganti your_certificate_password dengan isi file pfx-password.txt. --> <Certificate certificateKeystoreFile="D:/cert/example.com.pfx" certificateKeystorePassword="your_certificate_password" type="RSA"/> </SSLHostConfig> </Connector>Contoh konfigurasi Tomcat 9.0 format JKS
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- Ganti D:/cert/example.com.jks dengan jalur aktual ke sertifikat Anda. Ganti your_certificate_password dengan isi file jks-password.txt. --> <Certificate certificateKeystoreFile="D:/cert/example.com.jks" certificateKeystorePassword="your_certificate_password" type="RSA" /> </SSLHostConfig> </Connector>Opsi tambahan: Atur pengalihan otomatis dari HTTP ke HTTPS.
Edit file konfigurasi Tomcat
server.xml. Temukan konektor HTTP (Tomcat mendengarkan pada port 8080 secara default) dan ubah atribut `redirectPort`. Jika atribut tersebut tidak ada, tambahkan.<!-- Tomcat mendengarkan pada port 8080 secara default. Ubah ini ke port HTTP aktual yang Anda gunakan. --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" maxParameterCount="1000" />Tambahkan konfigurasi berikut ke akhir file
web.xml.<security-constraint> <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>CatatanSetelah Anda menyimpan konfigurasi ini, server akan secara otomatis mengalihkan permintaan HTTP ke HTTPS.
Setelah menyimpan konfigurasi, arahkan ke direktori
bininstalasi Tomcat Anda dan mulai ulang server untuk menerapkan pengaturan SSL.Hentikan server Tomcat.
shutdown.batJalankan server Tomcat.
startup.bat
Langkah 4: Verifikasi penerapan
Akses domain Anda melalui HTTPS di browser web. Misalnya,
https://yourdomain. Gantiyourdomaindengan domain aktual Anda.Jika ikon gembok muncul di bilah alamat browser, sertifikat telah berhasil diterapkan. Jika Anda mengalami kesalahan akses atau ikon gembok tidak muncul, bersihkan cache browser Anda atau coba lagi dalam mode penyamaran (privasi).

Mulai dari versi 117, ikon
di bilah alamat Chrome telah diganti dengan ikon
baru. Klik ikon ini untuk melihat informasi gembok.
Jika masalah tetap berlanjut, lihat bagian FAQ untuk pemecahan masalah.
Mulai produksi
Saat menerapkan ke lingkungan produksi, ikuti praktik terbaik berikut untuk meningkatkan keamanan, stabilitas, dan kemudahan pemeliharaan:
Jalankan sebagai pengguna non-administrator:
Buat pengguna sistem khusus dengan hak istimewa rendah untuk aplikasi. Jangan pernah menjalankan aplikasi dengan akun yang memiliki hak istimewa administrator.
CatatanPendekatan yang direkomendasikan adalah mengonfigurasi SSL di lapisan gerbang. Ini melibatkan penerapan sertifikat pada Server Load Balancer (SLB) atau reverse proxy seperti Nginx. Gerbang tersebut menghentikan lalu lintas HTTPS dan meneruskan lalu lintas HTTP yang telah didekripsi ke aplikasi backend.
Eksternalisasi manajemen kredensial:
Jangan pernah menyematkan kata sandi atau informasi sensitif lainnya secara langsung dalam kode atau file konfigurasi Anda. Gunakan Variabel lingkungan, Vault, atau layanan manajemen kunci penyedia cloud untuk menyuntikkan kredensial.
Paksa pengalihan HTTP ke HTTPS:
Arahkan seluruh lalu lintas HTTP ke HTTPS untuk mencegah serangan man-in-the-middle.
Konfigurasikan protokol TLS modern:
Nonaktifkan protokol lama dan tidak aman (seperti SSLv3, TLSv1.0, dan TLSv1.1) dalam konfigurasi server Anda. Aktifkan hanya TLSv1.2 dan TLSv1.3.
Pantau sertifikat dan otomatiskan perpanjangan:
Setelah menerapkan sertifikat, aktifkan pemantauan domain. Alibaba Cloud secara otomatis memeriksa periode validitas sertifikat dan mengirimkan pengingat perpanjangan sebelum kedaluwarsa untuk membantu Anda memperpanjang tepat waktu dan menghindari gangguan layanan. Untuk petunjuk terperinci, lihat Purchase and enable public domain name monitoring.
FAQ
Mengapa sertifikat saya tidak berfungsi atau HTTPS tidak dapat diakses setelah instalasi atau pembaruan?
Penyebab umumnya adalah sebagai berikut:
Grup keamanan atau firewall server tidak membuka port 443. Untuk informasi selengkapnya, lihat Configure the system and network environment.
Nama domain yang Anda akses tidak termasuk dalam bidang Bound Domains untuk sertifikat tersebut. Untuk informasi selengkapnya, lihat Domain name match.
Layanan Tomcat tidak dimulai ulang setelah file konfigurasi diubah. Untuk informasi selengkapnya, lihat Stop and restart the Tomcat service.
File sertifikat tidak diganti dengan benar, atau jalur sertifikat tidak ditentukan dengan benar dalam konfigurasi Tomcat. Periksa apakah file konfigurasi Tomcat dan file sertifikat merupakan versi terbaru dan valid.
Sertifikat tidak tersedia pada layanan lain: Jika domain Anda menggunakan layanan seperti Content Delivery Network (CDN), Server Load Balancer (SLB), atau Web Application Firewall (WAF), sertifikat juga harus dipasang pada layanan-layanan tersebut. Lihat Certificate deployment locations when traffic passes through multiple Alibaba Cloud services untuk menyelesaikan pengaturan.
Penerapan tidak lengkap pada beberapa server: Jika DNS domain Anda di-resolve ke beberapa server, sertifikat harus dipasang pada semuanya.
Untuk pemecahan masalah lebih lanjut, lihat Resolve certificate deployment issues based on browser error messages dan SSL certificate deployment troubleshooting guide.
Bagaimana cara memperbarui atau mengganti Sertifikat SSL yang telah dipasang di Tomcat?
Pertama, cadangkan file sertifikat asli (.pfx atau .jks, dan file .txt) di server Anda. Kemudian, masuk ke konsol Layanan Manajemen Sertifikat, unduh file sertifikat baru, lalu unggah ke server target untuk menimpa file aslinya. Pastikan jalur dan nama file tetap sama. Terakhir, mulai ulang layanan Tomcat agar sertifikat baru berlaku.
Setelah saya memulai ulang Tomcat, layanan gagal dimulai, dan file catalina.log menampilkan kesalahan LifecycleException atau Keystore was tampered with, or password was incorrect.
Masalah ini biasanya disebabkan oleh salah satu alasan berikut:
Kata sandi salah:
certificateKeystorePassworddalamserver.xmltidak cocok dengan kata sandi sertifikat yang sebenarnya. Periksa kata sandi dengan cermat. Kata sandi bersifat case-sensitive.Jalur sertifikat salah:
Jalur yang ditentukan oleh
certificateKeystoreFilesalah, sehingga Tomcat tidak dapat menemukan file sertifikat. Pastikan ejaan jalurnya benar. Kami menyarankan Anda menggunakan jalur relatif terhadapconf/.Jenis format sertifikat salah:
certificateKeystoreTypetidak cocok dengan format file sertifikat yang sebenarnya. GunakanPKCS12untuk file PFX danJKSuntuk file JKS.Kata sandi berisi karakter khusus:
Kata sandi berisi karakter khusus XML seperti
&,<, atau>, tetapi tidak di-escape dalam fileserver.xml.
Bagaimana cara mengalihkan permintaan HTTP ke HTTPS secara otomatis?
Untuk informasi selengkapnya, lihat bagian Set up automatic redirection from HTTP to HTTPS. Ubah file konfigurasi lalu mulai ulang layanan.