全部产品
Search
文档中心

Certificate Management Service:Instal Sertifikat SSL pada server Nginx (Windows)

更新时间:Nov 05, 2025

Mengirimkan data melalui HTTP yang tidak dienkripsi menimbulkan risiko keamanan, seperti kebocoran data dan manipulasi konten. Ini juga dapat menyebabkan browser menandai situs Anda sebagai Not Secure, mengurangi kepercayaan pengguna. Memasang Sertifikat SSL pada server Nginx untuk Windows memungkinkan HTTPS, yang mengamankan data dalam transit dan meningkatkan keamanan serta kredibilitas situs web Anda. Topik ini menjelaskan cara memasang Sertifikat SSL pada server Nginx di Windows dan memverifikasi bahwa HTTPS berfungsi dengan benar.

Penting

Jika Anda memiliki pertanyaan, hubungi manajer akun Anda.

Catatan Penggunaan

Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:

  • Status Sertifikat: Anda memiliki Sertifikat SSL yang dikeluarkan oleh otoritas sertifikat tepercaya. Jika sertifikat akan segera kedaluwarsa atau sudah kedaluwarsa, Anda harus terlebih dahulu memperbarui Sertifikat SSL.

  • Pencocokan Nama Domain: Pastikan bahwa sertifikat cocok dengan semua nama domain yang ingin Anda amankan. Untuk menambah atau memodifikasi nama domain, Anda dapat Membeli sertifikat resmi atau Menambah dan mengganti nama domain.

    • Nama domain yang cocok persis: Hanya berlaku untuk domain yang ditentukan.

      • example.com hanya melindungi example.com.

      • www.example.com hanya melindungi 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 melindungi domain root example.com atau subdomain multi-level seperti a.b.example.com.

    Catatan

    Untuk 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 Administrator atau akun dengan izin administrator.

  • Resolusi Nama Domain: Rekaman DNS domain dikonfigurasi dan diselesaikan ke alamat IP publik server.

  • Dependensi Lingkungan: Topik ini menggunakan Windows Server 2025 dan Nginx 1.28.0 sebagai contoh. Direktori instalasi contoh untuk Nginx adalah D:\nginx-1.28.0.

    Catatan

    Langkah-langkah penyebaran mungkin berbeda tergantung pada sistem operasi atau versi server web.

Prosedur

Langkah 1: Persiapkan Sertifikat SSL

  1. Kunjungi halaman Layanan Sertifikat SSL. Di kolom Actions dari sertifikat target, klik Download Certificate. Pada tab Download, unduh sertifikat untuk Server Type Nginx.

  2. Ekstrak paket sertifikat yang diunduh:

    • Jika paket berisi file sertifikat (.pem) dan file kunci privat (.key), simpan kedua file tersebut. Anda akan membutuhkannya untuk penyebaran.

    • Jika paket hanya berisi file sertifikat (.pem) dan tidak ada file kunci privat (.key), Anda harus menyebar sertifikat dengan file kunci privat yang disimpan secara lokal.

      Catatan

      Jika Anda menggunakan alat seperti OpenSSL atau Keytool untuk menghasilkan Permintaan Penandatanganan Sertifikat (CSR) saat Anda mengajukan sertifikat, file kunci privat hanya disimpan di mesin lokal Anda. Paket sertifikat yang diunduh tidak termasuk kunci privat. Jika kunci privat hilang, sertifikat tidak dapat digunakan. Anda harus membeli sertifikat komersial lagi dan menghasilkan CSR dan kunci privat baru.

  3. Unggah file sertifikat dan file kunci privat yang diekstrak ke server Anda. Simpan mereka di direktori eksternal yang aman. Jalur contoh yang digunakan dalam topik ini adalah D:\cert.

    Catatan

    Langkah-langkah berikut menggunakan Alibaba Cloud Elastic Compute Service (ECS) sebagai contoh. Untuk jenis server lainnya, lihat dokumentasi resmi mereka.

    1. Kunjungi Konsol ECS - Instans. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya target.

    2. Temukan instans target. Klik Connect dan pilih Sign in now. Masuk ke desktop server sesuai petunjuk.

    3. Di pojok kiri bawah server, klik menu Start. Temukan dan buka This PC.

    4. Di bawah Redirected drives and folders, klik dua kali workbench on ***. Seret file sertifikat dari mesin lokal Anda ke direktori ini, lalu klik kanan folder dan pilih Refresh.image

    5. Salin file sertifikat ke direktori D:\cert.

      Penting

      Saat Anda menyambung ulang ke atau keluar dari instans, workbench secara otomatis membersihkan semua file yang diunggah dari direktori Drive dan Folder yang Diredirect untuk menghemat ruang. Direktori ini hanya untuk transfer file. Jangan simpan file Anda di sini.

Langkah 2: Konfigurasikan sistem dan lingkungan jaringan

  1. Buka port 443 di grup keamanan.

    Penting

    Jika server Anda diterapkan di platform cloud, pastikan bahwa grup keamanannya mengizinkan akses masuk pada port TCP 443. Jika tidak, layanan tidak dapat diakses dari Internet. Langkah-langkah berikut menggunakan Alibaba Cloud ECS sebagai contoh. Untuk platform cloud lainnya, lihat dokumentasi resmi mereka.

    1. Kunjungi halaman Instans ECS, pilih wilayah tempat instans ECS target berada, dan klik nama instans untuk pergi ke halaman detail instans.

    2. Klik Security Group > All Intranet Inbound Rules, dan pastikan aturan dengan pengaturan berikut ada: 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).

    3. Jika aturan tersebut tidak ada, lihat Tambahkan aturan grup keamanan untuk menambahkan aturan yang sesuai ke grup keamanan target.

  2. Buka port 443 di firewall server.

    1. Masuk ke server Windows, klik menu Start di pojok kiri bawah, dan buka Control Panel.

    2. Klik System And Security > Windows Firewall > Check Firewall Status.

    3. Jika firewall mati, seperti yang ditunjukkan pada gambar berikut, tidak diperlukan tindakan lebih lanjut.image

    4. Jika firewall aktif, ikuti langkah-langkah berikut untuk mengizinkan aturan HTTPS.

      1. Di panel navigasi kiri, klik Advanced Settings > Inbound Rules, dan periksa apakah ada aturan masuk di mana Protocol adalah TCP, Local Port adalah 443, dan Action adalah Block.

      2. Jika aturan tersebut ada, klik kanan dan pilih Properties. Di tab General, ubah pengaturan menjadi Allow The Connection dan klik Apply.

      3. Untuk informasi lebih lanjut tentang konfigurasi firewall, lihat Konfigurasikan aturan firewall.

Langkah 3: Sebarkan sertifikat pada server Nginx

  1. Buka file konfigurasi Nginx (nginx.conf) untuk menambahkan detail sertifikat (jalur contoh adalah D:\nginx-1.28.0\conf\nginx.conf).

    1. Tambahkan blok server yang mendengarkan pada port 443.

      Duplikat blok server yang ada untuk port 80 untuk membuat yang baru untuk HTTPS. Ubah port mendengarkannya menjadi listen 443 ssl dan tambahkan konfigurasi sertifikat SSL, termasuk direktif ssl_certificate dan ssl_certificate_key. Biarkan semua direktif lainnya tetap tidak berubah.

      # Blok server asli yang mendengarkan pada port 80.
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com;
          
          # Konfigurasi lainnya.
          location / {
              proxy_pass http://127.0.0.1:8000;
          }
      }
      
      # Salin blok server yang ada untuk port 80 untuk membuat blok server baru.
      server {
          # Ubah listen 80 asli menjadi listen 443 ssl.
          listen 443 ssl;
          # server_name asli. Anda dapat menambahkan lebih banyak nama domain yang didukung oleh sertifikat ini.
          server_name yourdomain.com www.yourdomain.com;
          
          # ======================= Konfigurasi sertifikat dimulai =======================
          # Tentukan file sertifikat (sertifikat perantara dapat digabungkan ke file .pem ini). Ganti jalur berikut dengan jalur mutlak file sertifikat Anda.
          ssl_certificate D:\\cert\\example.com.pem;
          # Tentukan file kunci privat. Ganti jalur berikut dengan jalur mutlak file kunci privat Anda.
          ssl_certificate_key D:\\cert\\example.com.key;
          # Konfigurasikan cache sesi SSL untuk meningkatkan performa.
          ssl_session_cache shared:SSL:1m;
          # Tetapkan periode waktu habis sesi SSL.
          ssl_session_timeout 5m;
          # Sesuaikan jenis protokol TLS dan paket sandi yang digunakan (berikut adalah konfigurasi contoh; evaluasi apakah Anda perlu mengonfigurasinya).
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          # Tentukan versi protokol TLS yang diizinkan. Versi TLS yang lebih tinggi memberikan keamanan yang lebih baik untuk komunikasi HTTPS, tetapi memiliki kompatibilitas browser yang lebih buruk daripada versi TLS yang lebih rendah.
          ssl_protocols TLSv1.2 TLSv1.3;
          # Prioritaskan paket sandi yang ditentukan di sisi server
          ssl_prefer_server_ciphers on;
          # ======================= Konfigurasi sertifikat selesai =======================
         
          # Konfigurasi lainnya.
      }
    2. Opsional: Atur pengalihan otomatis dari HTTP ke HTTPS. Tambahkan direktif rewrite ke blok server asli yang mendengarkan pada port 80.

      server {
          listen 80;
          # Masukkan nama domain yang terikat ke sertifikat
          server_name <YOURDOMAIN>;
          # Alihkan semua permintaan HTTP ke HTTPS menggunakan direktif rewrite.
          rewrite ^(.*)$ https://$host$1;
          location / {
              index index.html index.htm;
          }
      }
    3. Jalankan perintah berikut untuk memvalidasi perubahan konfigurasi. Jika output menunjukkan syntax is ok dan test is successful, konfigurasi valid. Jika tidak, perbaiki konfigurasi berdasarkan pesan kesalahan.

      .\nginx.exe -t
  2. Muat ulang layanan Nginx.

    Buka baris perintah Windows, arahkan ke direktori instalasi Nginx, dan jalankan perintah berikut.

    .\nginx.exe -s reload 

Langkah 4: Verifikasi penyebaran

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

  2. Jika ikon gembok muncul di bilah alamat browser, sertifikat berhasil disebar. Jika Anda mengalami kesalahan akses atau ikon gembok tidak muncul, bersihkan cache browser Anda atau coba lagi dalam mode penyamaran (privasi).

    image

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

Catatan

Jika masalah tetap ada, lihat FAQ untuk pemecahan masalah.

Go-live

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

    Catatan

    Pendekatan yang direkomendasikan adalah mengonfigurasi SSL di lapisan gateway. Ini melibatkan penyebaran sertifikat pada Server Load Balancer (SLB). Gateway mengakhiri lalu lintas HTTPS dan meneruskan lalu lintas HTTP yang didekripsi ke aplikasi backend.

  • Eksternalisasi manajemen kredensial:

    Jangan pernah hard-code kata sandi atau informasi sensitif lainnya dalam kode atau file konfigurasi Anda. Gunakan variabel lingkungan, Vault, atau layanan manajemen kunci penyedia cloud untuk menyuntikkan kredensial.

  • Paksakan pengalihan HTTP ke HTTPS:

    Alihkan semua 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 Anda menyebar 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 instruksi terperinci, lihat Beli dan aktifkan pemantauan nama domain publik.

FAQ

Mengapa sertifikat saya tidak berfungsi atau HTTPS tidak dapat diakses setelah instalasi atau pembaruan?

Masalah ini sering disebabkan oleh salah satu masalah konfigurasi berikut. Periksa mereka secara berurutan:

  • Port 443 diblokir: Grup keamanan atau firewall server tidak memiliki port 443 terbuka. Lihat Konfigurasikan sistem dan lingkungan jaringan.

  • Ketidakcocokan Domain: Domain yang Anda akses tidak terdaftar dalam Bound Domains sertifikat. Lihat Pencocokan Nama Domain.

  • Nginx tidak dimuat ulang: Layanan Nginx tidak dimuat ulang setelah file konfigurasi Nginx diubah. Lihat Muat Ulang Layanan Nginx.

  • Konfigurasi Sertifikat Salah: File sertifikat tidak diganti dengan benar, atau jalur sertifikat tidak ditentukan dengan benar dalam konfigurasi Nginx. Pastikan bahwa file konfigurasi Nginx dan file sertifikat yang digunakan adalah yang terbaru dan valid.

  • Sertifikat Hilang pada Layanan Lainnya: 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 tersebut. Lihat Lokasi Penyebaran Sertifikat Saat Lalu Lintas Melewati Beberapa Layanan Alibaba Cloud untuk menyelesaikan pengaturan.

  • Penyebaran Tidak Lengkap pada Beberapa Server: Jika DNS domain Anda diselesaikan ke beberapa server, sertifikat harus dipasang di semua server tersebut.

Bagaimana cara memperbarui atau mengganti Sertifikat SSL yang ada pada server Nginx dengan benar?

Untuk memperbarui Sertifikat SSL pada Nginx, Anda perlu mengganti file sertifikat lama dan kunci privat dengan yang baru, lalu muat ulang layanan Nginx.

  1. Cadangkan file sertifikat (.pem) dan kunci privat (.key) yang ada di server.

  2. Unduh file sertifikat baru dari konsol Layanan Manajemen Sertifikat.

  3. Unggah file baru ke server Anda, menimpa yang lama. Pastikan jalur file dan nama tetap identik dengan yang ditentukan dalam nginx.conf.

  4. Muat Ulang layanan Nginx untuk menerapkan perubahan dengan menjalankan .\nginx.exe -s reload dari direktori instalasi Nginx.

Bagaimana cara menonaktifkan TLSv1.0 dan TLSv1.1 di Nginx untuk mencegah beberapa browser menampilkan peringatan "sertifikat tidak memenuhi standar"?

Anda dapat menonaktifkan protokol TLS yang tidak aman dengan memodifikasi direktif ssl_protocols pada konfigurasi Nginx Anda, sehingga hanya menyertakan versi modern dan aman.

  1. Buka file nginx.conf Anda dan temukan blok server untuk situs HTTPS Anda (mendengarkan pada port 443).

  2. Temukan atau tambahkan direktif ssl_protocols dan atur ke ssl_protocols TLSv1.2 TLSv1.3;.

  3. Simpan file dan jalankan .\nginx.exe -s reload untuk menerapkan pengaturan.

Mengapa server Nginx saya gagal memulai atau memuat ulang dengan kesalahan bind() to 0.0.0.0:443 failed di Windows?

Kesalahan ini berarti proses lain sudah menggunakan port 443, yang mana Nginx mencoba untuk mengikatnya. Ini adalah masalah konflik port.

  1. Untuk mengidentifikasi proses yang menggunakan port 443, buka Command Prompt atau PowerShell dan jalankan: netstat -ano | findstr ":443".

  2. Output akan menunjukkan ID Proses (PID) layanan yang bertentangan di kolom terakhir.

  3. Hentikan layanan yang bertentangan. Anda dapat menggunakan Task Manager untuk mengakhiri tugas berdasarkan PID atau menghentikan aplikasi yang sesuai (seperti server web lainnya).

  4. Setelah port 443 bebas, coba mulai atau muat ulang Nginx lagi.

Setelah mengaktifkan HTTPS pada server Nginx saya, mengapa browser saya menampilkan peringatan Konten Campuran alih-alih ikon gembok aman?

Peringatan Konten Campuran terjadi ketika halaman HTTPS mencoba memuat sumber daya (seperti gambar, skrip, atau stylesheet) melalui koneksi HTTP yang tidak aman. Untuk memperbaiki ini, Anda harus memastikan bahwa semua sumber daya dimuat melalui HTTPS.

  1. Periksa kode sumber situs web Anda (HTML, CSS, dan JavaScript).

  2. Cari tautan http:// yang di-hardcode dalam tag seperti <img>, <link>, dan <script>.

  3. Perbarui tautan ini untuk menggunakan https:// atau, lebih disukai, gunakan URL relatif protokol (seperti //example.com/asset.js) atau jalur relatif root (seperti /images/logo.png).