Instal Sertifikat SSL pada server JBoss untuk mengaktifkan akses aman ke layanan web Anda melalui HTTPS. Topik ini menjelaskan prosedur instalasi tersebut.
Topik ini menggunakan Linux dan jboss-as-7.1.1.Final sebagai contoh. Langkah-langkah penerapan dapat berbeda tergantung pada sistem operasi dan versi server JBoss Anda.
Prasyarat
Anda telah membeli dan mengajukan sertifikat dari Certificate Management Service, dan Status-nya adalah Issued. Untuk informasi selengkapnya, lihat Purchase an official certificate dan Request a certificate.
Nama domain telah di-resolve dengan benar ke server.
Anda memiliki izin administratif untuk server, seperti akun root atau akun dengan hak istimewa sudo.
Prosedur
Langkah 1: Unduh Sertifikat SSL
Buka halaman SSL Certificate Management, temukan sertifikat yang ingin Anda terapkan, lalu konfirmasi informasi berikut:
Certificate Status: Status harus Issued. Jika statusnya Pending Expiration atau Expired, Anda harus renew the SSL certificate.
Bound Domains: Pengaturan ini harus mencakup semua nama domain yang ingin Anda lindungi. Jika tidak, peringatan keamanan akan muncul saat mengakses nama domain yang tidak sesuai melalui HTTPS. Untuk menambah atau mengubah nama domain, lihat Append and replace domain names.
Pada kolom Actions untuk sertifikat target, klik More untuk membuka halaman detail sertifikat. Pada tab Download, atur Server Type ke JKS lalu unduh sertifikat tersebut.
Paket hasil ekstraksi berisi file sertifikat (dengan ekstensi
.jksdan rantai sertifikat lengkap) serta file password sertifikat (jks-password.txt).CatatanJKS adalah format key store khusus Java dan cocok digunakan di lingkungan Java.
Langkah 2: Instal Sertifikat SSL pada server JBoss
Login ke server Linux.
Server Alibaba Cloud
Langkah-langkah berikut menggunakan contoh Elastic Compute Service (ECS) Alibaba Cloud. Untuk jenis server lain, lihat dokumentasi produk terkait.
Login ke Konsol ECS. Di pojok kiri atas, pilih Wilayah tempat instans ECS target berada.
Di panel navigasi kiri, pilih . Pada halaman Instances, temukan instans ECS target lalu klik Connect di kolom Actions.
Pada kotak dialog yang muncul, pilih Workbench lalu klik Sign in now.
Pilih Terminal sebagai metode koneksi, masukkan informasi autentikasi yang diperlukan, lalu ikuti petunjuk di layar untuk login ke terminal server. Untuk informasi selengkapnya, lihat Log on to an ECS instance using Workbench.
CatatanJika muncul catatan untuk menambahkan aturan grup keamanan, klik Add Now.
Server dari penyedia cloud lain
Gunakan fitur koneksi jarak jauh yang disediakan oleh penyedia cloud untuk login ke terminal server.
Server non-cloud (seperti server fisik atau server yang di-host di IDC)
Gunakan tool SSH untuk login ke terminal server dari komputer lokal Anda.
Beberapa perintah berikut berbeda tergantung pada sistem operasi. Pilih perintah yang sesuai dengan sistem operasi server Anda.
Seri RHEL/CentOS: Termasuk Alibaba Cloud Linux, Red Hat Enterprise Linux, CentOS, AlmaLinux, Rocky Linux, Anolis OS, dan turunannya.
Seri Debian/Ubuntu: Termasuk Debian, Ubuntu, dan turunannya.
Buka port 443 di security group dan firewall.
Jalankan perintah berikut di terminal server untuk memeriksa apakah port 443 terbuka:
RHEL/CentOS
command -v nc > /dev/null 2>&1 || sudo yum install -y nc # Ganti <your_server_public_ip> dengan Alamat IP publik server Anda. sudo ss -tlnp | grep -q ':443 ' || sudo nc -l 443 & sleep 1; nc -w 3 -vz <your_server_public_ip> 443Jika output-nya
Ncat: Connected to <your_server_public_ip>:443, berarti port 443 terbuka. Jika tidak, buka port 443 di security group dan firewall.Debian/Ubuntu
command -v nc > /dev/null 2>&1 || sudo apt-get install -y netcat # Ganti <your_server_public_ip> dengan Alamat IP publik server Anda. sudo ss -tlnp | grep -q ':443 ' || sudo nc -l -p 443 & sleep 1; nc -w 3 -vz <your_server_public_ip> 443Jika output-nya
Connection to <your_server_public_ip> port [tcp/https] succeeded!atau[<your_server_public_ip>] 443 (https) open, berarti port 443 terbuka. Jika tidak, buka port 443 di security group dan firewall.Buka port 443 di konfigurasi security group Anda.
PentingJika server Anda di-deploy di platform cloud, pastikan security group-nya mengizinkan lalu lintas inbound pada port TCP 443. Jika tidak, layanan akan tidak dapat diakses. Langkah-langkah berikut menggunakan contoh Alibaba Cloud ECS. Untuk platform cloud lain, rujuk dokumentasi resmi mereka.
Buka halaman instans Elastic Compute Service (ECS) lalu klik nama instans target untuk membuka halaman detail instans. Untuk informasi selengkapnya, lihat Add a security group rule untuk menambahkan aturan di bagian Security Group Details dengan Action diatur ke Allow, Protocol ke Custom TCP, Destination (Current Instance) ke HTTPS (443), dan Source ke 0.0.0.0/0 (anywhere).
Buka port 443 di firewall Anda.
Jalankan perintah berikut untuk mengidentifikasi layanan firewall aktif pada sistem Anda:
if command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet firewalld; then echo "firewalld" elif command -v ufw >/dev/null 2>&1 && sudo ufw status | grep -qw active; then echo "ufw" elif command -v nft >/dev/null 2>&1 && sudo nft list ruleset 2>/dev/null | grep -q 'table'; then echo "nftables" elif command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet iptables; then echo "iptables" elif command -v iptables >/dev/null 2>&1 && sudo iptables -L 2>/dev/null | grep -qE 'REJECT|DROP|ACCEPT'; then echo "iptables" else echo "none" fiJika output-nya
none, tidak diperlukan tindakan lebih lanjut. Jika tidak, jalankan perintah yang sesuai berdasarkan output (firewalld,ufw,nftables, atauiptables) untuk membuka port 443:firewalld
sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reloadufw
sudo ufw allow 443/tcpnftables
sudo nft add table inet filter 2>/dev/null sudo nft add chain inet filter input '{ type filter hook input priority 0; }' 2>/dev/null sudo nft add rule inet filter input tcp dport 443 counter accept 2>/dev/nulliptables
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPTUntuk memastikan aturan iptables tetap berlaku setelah reboot sistem, jalankan perintah berikut:
RHEL/CentOS
sudo yum install -y iptables-services sudo service iptables saveDebian/Ubuntu
sudo apt-get install -y iptables-persistent sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null
Jalankan perintah berikut untuk membuat direktori bernama cert di direktori JBoss standalone/configuration guna menyimpan file sertifikat.
mkdir cert # Buat direktori sertifikat bernama cert.Unggah file sertifikat ke direktori cert.
CatatanAnda dapat menggunakan fitur unggah file lokal dari tool login jarak jauh, seperti PuTTY, Xshell, atau WinSCP, untuk mengunggah file tersebut.
Jika Anda menggunakan instans Elastic Compute Service (ECS) Alibaba Cloud, untuk informasi selengkapnya, lihat Transfer files to a Windows instance using Remote Desktop or Windows APP atau Upload a file to a Linux instance.
Buka file konfigurasi JBoss standalone.xml, temukan parameter berikut, lalu ubah konfigurasi terkait sertifikat sesuai komentar.
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <!-- Konfigurasikan password dan path sertifikat. Setel password ke password sertifikat dari jks-password.txt. Setel certificate-key-file ke path aktual tempat sertifikat disimpan. --> <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true"> <ssl name="https" password="******" certificate-key-file="../standalone/configuration/cert/domain_name.jks"/> </connector> </subsystem> <!--Konfigurasikan akses remote ke JBoss dan port HTTPS--> <interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"></inet> </interface> <!--Aktifkan akses remote--> <interface name="public"> <inet-address value="${jboss.bind.address:0.0.0.0}"></inet> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"></inet> </interface> </interfaces> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"></socket> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"></socket> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"></socket> <socket-binding name="ajp" port="8009"></socket> <!--Ubah port HTTP menjadi 80--> <socket-binding name="http" port="80"></socket> <!--Ubah port HTTPS menjadi 443--> <socket-binding name="https" port="443"></socket> <socket-binding name="osgi-http" interface="management" port="8090"></socket> <socket-binding name="remoting" port="4447"></socket> <socket-binding name="txn-recovery-environment" port="4712"></socket> <socket-binding name="txn-status-manager" port="4713"></socket> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"></remote> </outbound-socket-binding> </socket-binding-group>Buka direktori bin di direktori JBoss lalu jalankan perintah berikut untuk restart server JBoss.
sh standalone.sh
Langkah 3: Verifikasi instalasi
Akses domain Anda melalui HTTPS di browser web. Misalnya,
https://yourdomain. Gantiyourdomaindengan domain aktual Anda.Jika ikon gembok muncul di bilah alamat browser, berarti sertifikat telah berhasil diterapkan. Jika Anda mengalami error 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 FAQ untuk troubleshooting.
FAQ
Mengapa sertifikat saya tidak berfungsi atau HTTPS tidak dapat diakses setelah instalasi atau pembaruan?
Penyebab umumnya adalah sebagai berikut:
Port 443 tidak terbuka di security group atau firewall server. Untuk informasi selengkapnya, lihat Open port 443 in the security group and firewall.
Bound Domains sertifikat tidak mencakup nama domain yang sedang diakses. Untuk informasi selengkapnya, lihat Check whether the certificate matches the target domain names.
Layanan JBoss tidak direstart setelah mengubah file konfigurasi JBoss. Untuk informasi selengkapnya, lihat Restart the JBoss server.
File sertifikat tidak diganti dengan benar, atau path sertifikat salah ditentukan dalam konfigurasi JBoss. Verifikasi bahwa file konfigurasi JBoss dan file sertifikat yang Anda gunakan adalah 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 diinstal pada layanan tersebut. Lihat Certificate deployment locations when traffic passes through multiple Alibaba Cloud services untuk menyelesaikan pengaturan ini.
Penerapan tidak lengkap pada beberapa server: Jika DNS domain Anda di-resolve ke beberapa server, sertifikat harus diinstal pada semuanya.
Untuk troubleshooting lebih lanjut, lihat Resolve certificate deployment issues based on browser error messages dan SSL certificate deployment troubleshooting guide.
Bagaimana cara memperbarui (mengganti) Sertifikat SSL yang diinstal pada JBoss?
Pertama, backup file sertifikat asli (.jks dan .txt) di server. Kemudian, login ke konsol Digital Certificate Management Service, unduh file sertifikat baru, lalu unggah ke server target untuk menimpa file asli. Pastikan path dan nama file-nya sama. Terakhir, restart layanan JBoss agar sertifikat baru berlaku.