Panduan langkah demi langkah untuk Mengaktifkan HTTPS atau SSL dengan cara yang benar di Apache Tomcat Server – Port 8443
Diterbitkan: 2021-04-03Sudah hampir 12 tahun saya mulai menggunakan Apache Tomcat. Saya percaya ketika saya mengerjakan proyek under grade 1 saya, itu di Tomcat versi 1.x
. Sekarang sudah di versi 8.0
. Sebagian besar saya telah berhubungan dengan Tomcat Server dalam kehidupan kerja sehari-hari saya, tidak bisa hidup tanpanya.
Di Crunchify kami telah menerbitkan hampir 40 artikel di Apache Tomcat
. Di sebagian besar tutorial saya menjalankan server pada port 8080 yang merupakan port default yang dikonfigurasi dalam file server.xml
.
Dalam tutorial ini kita akan membahas semua langkah secara detail tentang how to enable HTTPS/SSL on Apache Tomcat Server
.
Mari kita mulai:
Langkah 1. Buat Toko Kunci
keytool
: kami akan membuat kunci aman menggunakan perintah keytool
– yang merupakan alat manajemen kunci dan sertifikat.
Memerintah:
1 2 3 4 |
bash - 3.2 $ pwd / Users / Shared bash - 3.2 $ keytool - genkey - alias crunchify - keyalg RSA - keystore / Users / Shared / crunchify . keystore |
File akan dibuat di bawah folder /Users/Shared
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
bash - 3.2 $ keytool - genkey - alias crunchify - keyalg RSA - keystore / Users / Shared / crunchify . keystore Enter keystore password : Re - enter new password : What is your first and last name ? [ Unknown ] : App Shah What is the name of your organizational unit ? [ Unknown ] : Crunchify , LLC What is the name of your organization ? [ Unknown ] : Crunchify What is the name of your City or Locality ? [ Unknown ] : New York City What is the name of your State or Province ? [ Unknown ] : NY What is the two - letter country code for this unit ? [ Unknown ] : US Is CN = App Shah , OU = "Crunchify, LLC" , O = Crunchify , L = New York City , ST = NY , C = US correct ? [ no ] : yes Generating 2 , 048 bit RSA key pair and self - signed certificate ( SHA256withRSA ) with a validity of 90 days for : CN = App Shah , OU = "Crunchify, LLC" , O = Crunchify , L = New York City , ST = NY , C = US |
Saya menggunakan Mac OS X, jadi ganti jalur Anda jika Anda menggunakan windows. Saya telah menggunakan kata sandi 123456
.
Langkah 2. Buat Permintaan Penandatanganan Sertifikat yang Ditandatangani Sendiri
1 2 |
bash - 3.2 $ keytool - certreq - keyalg RSA - alias crunchify - file crunchify . csr - keystore crunchify . keystore Enter keystore password : |
Masukkan kata sandi: 123456
Langkah-3. Mari kita periksa apakah Tomcat berjalan pada port 8080 melalui HTTP.
Start
server Tomcat menggunakan perintah: <tomcat_home>/bin/ startup.sh
.
Pastikan Anda berada di lokasi jalur Tomcat yang benar.
1 2 3 4 5 6 7 8 9 10 11 |
bash - 3.2 # pwd / Users / Shared / apache - tomcat - 9.0.30 / bin bash - 3.2 $ . / startup . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar Tomcat started . |
Tekan URL: http://localhost:8080
untuk memastikan server aktif dan berjalan.
Langkah-4. Sekarang periksa instance Tomcat pada port 8443 melalui HTTPS.
- Sekarang periksa port 8443 (URL HTTPS/SSL).
- Hit URL:
https://localhost:8443
- Anda akan melihat pesan kesalahan. Halaman tidak boleh dimuat sama sekali.
Langkah-5. Perbarui file /conf/server.xml
Karena kami telah membuat keystore dan permintaan penandatanganan sertifikat di atas, kami perlu memberi tahu Tomcat untuk menggunakannya.
- Buka file
server.xml
yang terletak di<tomcat_home>/conf/
dan ubah pengaturan. - Dalam kasus kami ini adalah folder
/Users/Shared/apache-tomcat-9.0.30/conf
.
Tambahkan bagian di bawah ini langsung ke file server.xml:

1 2 3 4 5 |
< Connector port = "8443" protocol = "HTTP/1.1" SSLEnabled = "true" maxThreads = "150" scheme = "https" secure = "true" keystoreFile = "/Users/Shared/crunchify.keystore" keystorePass = "123456" clientAuth = "false" sslProtocol = "TLS" sslVerifyClient = "optional" sslEnabledProtocols = "TLSv1.2,TLSv1.1,SSLv2Hello" / > |
- Di sini kata sandinya adalah
123456
yang saya gunakan padaStep-1
. - Protokol: HTTP/1.1
Menyimpan file. Selanjutnya kita akan berhenti dan memulai Tomcat Server.
Langkah-6. Berhenti dan Mulai Apache Tomcat.
- bash-3.2$ /Users/Shared/Apache-Tomcat-9.0.30/bin/shutdown.sh
- bash-3.2$ /Users/Shared/Apache-Tomcat-9.0.30/bin/startup.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
bash - 3.2 $ / Users / Shared / apache - tomcat - 9.0.30 / bin / shutdown . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar NOTE : Picked up JDK_JAVA_OPTIONS : -- add - opens = java . base / java . lang = ALL - UNNAMED -- add - opens = java . base / java . io = ALL - UNNAMED -- add - opens = java . rmi / sun . rmi . transport = ALL - UNNAMED bash - 3.2 $ / Users / Shared / apache - tomcat - 9.0.30 / bin / startup . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar Tomcat started . |
Langkah-7. Periksa url dan sertifikasi HTTPS: https://localhost:8443
Sekarang tekan HTTPS secure URL lagi untuk memeriksa halaman Anda berhasil dimuat.
krom:
- Secara default,
Chrome Blocks all insecure HTTPS
agar tidak dimuat. - Aktifkan
Chrome flag
untuk memuat sertifikat yang tidak valid untuk sumber daya yang dimuat dari localhost
- Buka Chrome
- Buka Tab
- ketik:
chrome://flags/#allow-insecure-localhost
- Aktifkan bendera dari tarik-turun
- Luncurkan ulang Chrome
Safari dan Mozilla Firefox:
-
Accept invalid certificate error
dan kunjungi situs.
Anda akan melihat halaman Apache Tomcat memuat melalui HTTPS pada port 8443
Anda sudah siap. Pernahkah Anda memperhatikan red padlock
? Jangan khawatir. Kami belum membeli sertifikat SSL dari Verisign atau Comodo.
Di lingkungan produksi Anda mungkin tidak melihat tanda palang merah itu.
Klik pada sertifikat di browser dan sertifikat standar yang ditandatangani sendiri harus
valid for 90
hari.
Poin bonus:
Bagaimana cara memeriksa cert content
Anda menggunakan command keytool
?
1 |
bash - 3.2 # keytool -list -keystore /Users/<username>/crunchify.keystore |
Hasil:
1 2 3 4 5 6 7 8 9 10 11 12 |
bash - 3.2 $ keytool - list - keystore / Users / Shared / crunchify . keystore Enter keystore password : Keystore type : PKCS12 Keystore provider : SUN Your keystore contains 1 entry crunchify , Apr 24 , 2020 , PrivateKeyEntry , Certificate fingerprint ( SHA - 256 ) : 9D : 26 : 77 : E0 : E8 : 79 : 5B : 46 : 57 : 64 : 04 : 95 : B8 : 22 : 9C : E2 : 9F : A4 : 82 : CB : 01 : B5 : 80 : 62 : 75 : 90 : 48 : 27 : 5F : 60 : CB : C8 bash - 3.2 $ |