Topik ini menjelaskan cara menginstal Sertifikat SSL pada server GlassFish, mencakup pengunduhan dan pengunggahan file sertifikat, konfigurasi sertifikat, rantai sertifikat, dan kunci privat pada server GlassFish, serta verifikasi instalasi.
Topik ini menggunakan kontainer domain1 default di glassfish-4.1.2-web pada sistem operasi Linux sebagai contoh. Langkah penerapan dapat berbeda tergantung pada sistem operasi atau versi server GlassFish Anda. Jika Anda memiliki pertanyaan, hubungi manajer bisnis Anda.
Prasyarat
Anda telah membeli dan mengajukan sertifikat dari Layanan Manajemen Sertifikat, dan Status-nya adalah Issued. Untuk informasi lebih lanjut, lihat Beli sertifikat resmi dan Ajukan sertifikat.
Nama domain telah diarahkan 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 memperpanjang Sertifikat SSL.
Bound Domains: Pengaturan ini harus sesuai dengan 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 Tambah dan ganti nama domain.
Pada kolom Actions untuk sertifikat target, klik More, lalu pada tab Download, unduh sertifikat dengan Server Type Other.
Ekstrak paket sertifikat yang diunduh:
Jika paket berisi file sertifikat (.pem) dan file kunci privat (.key), simpan kedua file tersebut. Anda akan membutuhkannya untuk penerapan.
Jika paket hanya berisi file sertifikat (.pem) tanpa file kunci privat (.key), Anda harus menerapkan sertifikat dengan file kunci privat yang disimpan secara lokal.
CatatanJika Anda menggunakan tool seperti OpenSSL atau Keytool untuk menghasilkan file Permintaan Penandatanganan Sertifikat (CSR) saat mengajukan sertifikat, file kunci privat hanya disimpan di mesin lokal Anda. Paket sertifikat yang diunduh tidak menyertakan kunci privat. Jika kunci privat hilang, sertifikat tidak dapat digunakan. Anda harus membeli sertifikat komersial lagi dan menghasilkan CSR serta kunci privat baru.
Langkah 2: Instal sertifikat pada server GlassFish
Login ke server Linux Anda.
Server Alibaba Cloud
Langkah-langkah berikut menggunakan contoh Elastic Compute Service (ECS) Alibaba Cloud. Untuk jenis server lain, lihat dokumentasi produk yang sesuai.
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 lebih lanjut, lihat Login ke instans ECS menggunakan 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 grup keamanan 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, port 443 terbuka. Jika tidak, buka port 443 di grup keamanan 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, port 443 terbuka. Jika tidak, buka port 443 di grup keamanan dan firewall.Buka port 443 di konfigurasi grup keamanan Anda.
PentingJika server Anda diterapkan di platform cloud, pastikan grup keamanannya mengizinkan lalu lintas inbound pada port TCP 443. Jika tidak, layanan tidak dapat diakses. Langkah-langkah berikut menggunakan contoh ECS Alibaba Cloud. Untuk platform cloud lain, lihat dokumentasi resminya.
Buka halaman instans Elastic Compute Service (ECS) lalu klik nama instans target untuk membuka halaman detail instans. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan 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 di 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
Buat direktori di direktori instalasi GlassFish untuk menyimpan sertifikat.
Masuk ke direktori instalasi GlassFish.
Dalam contoh ini, glassfish4 diinstal di direktori /home. Sesuaikan path sesuai kebutuhan.
cd /home/glassfish4Buat direktori sertifikat bernama cert.
mkdir cert
Unggah file sertifikat dan file kunci privat ke folder cert.
CatatanAnda dapat menggunakan fitur unggah file lokal dari tool login jarak jauh, seperti PuTTY, XShell, atau WinSCP, untuk mengunggah file. Jika Anda menggunakan instans Elastic Compute Service (ECS) Alibaba Cloud, untuk informasi lebih lanjut tentang cara mengunggah file, lihat Unggah atau unduh file.
Di direktori cert, jalankan perintah openssl untuk mengonversi sertifikat PEM yang diunduh ke format PKCS12. Tetapkan password ke changeit, beri nama file mycert.p12, dan tetapkan alias ke s1as.
CatatanGanti domain_name.pem dan domain_name.key dengan file sertifikat dan file kunci privat Anda yang sebenarnya.
changeit adalah password default untuk sertifikat bawaan di server GlassFish. Jika Anda telah mengubahnya, gunakan password sertifikat Anda yang sebenarnya.
openssl pkcs12 -export -in domain_name.pem -inkey domain_name.key -out mycert.p12 -passout pass:changeit -name s1asDi direktori cert, jalankan perintah keytool untuk mengonversi mycert.p12 ke format JKS. Beri nama file keystore.jks dan tetapkan alias ke s1as.
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1asSetelah menjalankan perintah keytool, Anda akan diminta menetapkan password untuk keystore.jks dan memasukkan password asli untuk mycert.p12. Masukkan changeit untuk keduanya.
Di direktori cert, jalankan perintah keytool untuk mengonversi sertifikat PEM yang diunduh ke format JKS. Beri nama file cacerts.jks dan tetapkan alias ke s1as.
Ganti domain_name.pem dengan file sertifikat Anda yang sebenarnya.
keytool -importcert -trustcacerts -destkeystore cacerts.jks -file domain_name.pem -alias s1asSetelah menjalankan perintah keytool, Anda akan diminta menetapkan password untuk cacerts.jks. Tetapkan password ke changeit.
Di direktori cert, jalankan perintah berikut untuk mengganti file cacerts.jks dan keystore.jks di direktori /home/glassfish4/glassfish/domains/domain1/config.
Ganti cacerts.jks
cp ./cacerts.jks /home/glassfish4/glassfish/domains/domain1/configGanti keystore.jks
cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
Edit file konfigurasi /home/glassfish4/glassfish/domains/domain1/config/domain.xml untuk mengubah nomor port.
Temukan bagian network-listeners seperti pada gambar berikut. Ubah nomor port seperti pada contoh. Sebelum mengubah port, pastikan port 80 dan 443 tidak sedang digunakan.

<network-listeners> <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="http-listener-2" port="443" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener> </network-listeners>Masuk ke direktori /home/glassfish4/glassfish/bin lalu jalankan perintah berikut untuk restart server./asadmin restart-domain domain1
./asadmin restart-domain domain1
Langkah 3: Verifikasi instalasi
Akses domain Anda melalui HTTPS di browser web. Misalnya,
https://yourdomain. Gantiyourdomaindengan domain Anda yang sebenarnya.Jika ikon gembok muncul di bilah alamat browser, 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 bagian FAQ untuk troubleshooting.
FAQ
Mengapa sertifikat saya tidak berfungsi atau HTTPS tidak dapat diakses setelah instalasi atau pembaruan?
Penyebab umum meliputi hal-hal berikut:
Port 443 tidak terbuka di grup keamanan atau firewall server. Untuk informasi lebih lanjut, lihat Buka port 443 di grup keamanan dan firewall.
Bound Domains sertifikat tidak mencakup nama domain yang diakses. Untuk informasi lebih lanjut, lihat Periksa apakah sertifikat sesuai dengan nama domain target.
Anda mengubah file konfigurasi aplikasi GlassFish tetapi tidak merestart layanan GlassFish. Untuk informasi lebih lanjut, lihat Restart layanan GlassFish.
File sertifikat tidak diganti dengan benar, atau path sertifikat ditentukan salah dalam konfigurasi Flask. Pastikan konfigurasi sertifikat dalam aplikasi Flask dan file sertifikat keduanya mutakhir dan valid.
Sertifikat tidak ada di 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 Lokasi penerapan sertifikat saat traffic melewati beberapa layanan Alibaba Cloud untuk menyelesaikan pengaturan.
Penerapan tidak lengkap di beberapa server: Jika DNS domain Anda diarahkan ke beberapa server, sertifikat harus diinstal di semuanya.
Untuk troubleshooting lebih lanjut, lihat Selesaikan masalah penerapan sertifikat berdasarkan pesan error browser dan Panduan troubleshooting penerapan Sertifikat SSL.
Bagaimana cara memperbarui (mengganti) Sertifikat SSL yang telah diinstal di GlassFish?
Cadangkan file sertifikat asli (.pem dan .key) di server Anda. Login ke konsol Layanan Manajemen Sertifikat, unduh file sertifikat baru, lalu unggah ke server Anda untuk menimpa file lama. Pastikan path dan nama file tetap sama. Terakhir, restart layanan GlassFish agar sertifikat baru berlaku.