全部产品
Search
文档中心

Certificate Management Service:Instal Sertifikat SSL pada server GlassFish (Linux)

更新时间:Dec 04, 2025

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.

Penting

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

  1. Buka halaman SSL Certificate Management, temukan sertifikat yang ingin Anda terapkan, lalu konfirmasi informasi berikut:

    1. Certificate Status: Status harus Issued. Jika statusnya Pending Expiration atau Expired, Anda harus memperpanjang Sertifikat SSL.

    2. 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.

      Periksa apakah sertifikat sesuai dengan nama domain target

      Bound Domains suatu sertifikat dapat mencakup beberapa nama domain eksak dan wildcard. Aturan pencocokan untuk setiap jenis nama domain adalah sebagai berikut:

      • Nama domain eksak: Hanya berlaku untuk nama domain yang ditentukan.

        • example.com hanya berlaku untuk example.com.

        • www.example.com hanya berlaku untuk www.example.com.

      • Nama domain wildcard: Hanya berlaku untuk subdomain tingkat pertama.

        • *.example.com berlaku untuk subdomain tingkat pertama seperti www.example.com dan a.example.com.

        • *.example.com tidak berlaku untuk domain root example.com atau subdomain multi-level seperti a.b.example.com.

      Catatan

      Untuk mencocokkan subdomain multi-level, bidang Bound Domains harus berisi nama domain eksak, seperti a.b.example.com, atau nama domain wildcard yang sesuai, seperti *.b.example.com.

  2. Pada kolom Actions untuk sertifikat target, klik More, lalu pada tab Download, unduh sertifikat dengan Server Type Other.

  3. 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.

      Catatan

      Jika 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

  1. 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.

    1. Login ke Konsol ECS. Di pojok kiri atas, pilih wilayah tempat instans ECS target berada.

    2. Di panel navigasi kiri, pilih Instances & Images > Instances. Pada halaman Instances, temukan instans ECS target lalu klik Connect di kolom Actions.

    3. Pada kotak dialog yang muncul, pilih Workbench lalu klik Sign in now.

    4. 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.

      Catatan

      Jika 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.

    • Windows: Di Command Prompt (cmd) atau PowerShell, jalankan: ssh username@serverIP. Jika perintah ssh tidak didukung, Anda dapat menggunakan software pihak ketiga seperti PuTTY atau WinSCP untuk terhubung.

    • macOS/Linux: Di Terminal bawaan, jalankan: ssh username@serverIP.

    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.

    Cara mengidentifikasi seri sistem operasi

    Jalankan cat /etc/os-release di terminal server lalu periksa nilai ID_LIKE dan ID pada output:

    • Jika ID_LIKE atau ID berisi rhel atau centos, sistem operasi termasuk dalam seri RHEL/CentOS.

    • Jika ID_LIKE atau ID berisi debian atau ubuntu, sistem operasi termasuk dalam seri Debian/Ubuntu.

  2. Buka port 443 di grup keamanan dan firewall.

    1. 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> 443

      Jika 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> 443

      Jika 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.

    2. Buka port 443 di konfigurasi grup keamanan Anda.

      Penting

      Jika 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).

    3. 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"
      fi

      Jika output-nya none, tidak diperlukan tindakan lebih lanjut. Jika tidak, jalankan perintah yang sesuai berdasarkan output (firewalld, ufw, nftables, atau iptables) untuk membuka port 443:

      firewalld

      sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload

      ufw

      sudo ufw allow 443/tcp

      nftables

      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/null

      iptables

      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

      Untuk memastikan aturan iptables tetap berlaku setelah reboot sistem, jalankan perintah berikut:

      RHEL/CentOS
      sudo yum install -y iptables-services
      sudo service iptables save
      Debian/Ubuntu
      sudo apt-get install -y iptables-persistent
      sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null
  3. Buat direktori di direktori instalasi GlassFish untuk menyimpan sertifikat.

    1. Masuk ke direktori instalasi GlassFish.

      Dalam contoh ini, glassfish4 diinstal di direktori /home. Sesuaikan path sesuai kebutuhan.

      cd /home/glassfish4 
    2. Buat direktori sertifikat bernama cert.

      mkdir cert
  4. Unggah file sertifikat dan file kunci privat ke folder cert.

    Catatan

    Anda 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.

  5. 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.

    Catatan

    Ganti 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 s1as
  6. Di 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 s1as

    Setelah menjalankan perintah keytool, Anda akan diminta menetapkan password untuk keystore.jks dan memasukkan password asli untuk mycert.p12. Masukkan changeit untuk keduanya.

  7. 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 s1as

    Setelah menjalankan perintah keytool, Anda akan diminta menetapkan password untuk cacerts.jks. Tetapkan password ke changeit.

  8. 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/config
    • Ganti keystore.jks

      cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
  9. 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.

    image.png

    <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>
  10. 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

  1. Akses domain Anda melalui HTTPS di browser web. Misalnya, https://yourdomain. Ganti yourdomain dengan domain Anda yang sebenarnya.

  2. 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).

    image

    Mulai dari versi 117, ikon image di bilah alamat Chrome telah diganti dengan ikon image baru. Klik ikon ini untuk melihat informasi gembok.

Catatan

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.

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.