全部产品
Search
文档中心

Certificate Management Service:Instal Sertifikat SSL pada server Nginx atau Tengine (Linux)

更新时间:Oct 25, 2025

Topik ini menjelaskan cara memasang sertifikat SSL pada server Nginx atau Tengine dalam lingkungan Linux untuk mengaktifkan akses aman melalui HTTPS. Ini mencakup pengunduhan dan pengunggahan sertifikat, konfigurasi server, pengaturan parameter kunci, verifikasi instalasi, serta pemecahan masalah umum.

Penting

Jika Anda memiliki pertanyaan, hubungi manajer akun Anda untuk bantuan.

Catatan Penggunaan

Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:

  • Status Sertifikat: Sertifikat SSL Anda diterbitkan oleh otoritas sertifikat tepercaya (CA). Jika sertifikat About to Expire atau Expired, pertama-tama perbarui sertifikat SSL.

  • Pencocokan nama domain: Pastikan sertifikat cocok dengan semua nama domain yang ingin Anda amankan. Untuk menambah atau memodifikasi domain, lihat Tambah dan ganti 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 pertamanya.

      • *.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 melindungi 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 memerlukan akun root atau akun dengan hak istimewa sudo.

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

Prosedur

Langkah 1: Persiapkan Sertifikat SSL

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

  2. Ekstrak paket sertifikat yang telah 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) dan tidak ada file kunci privat (.key), Anda harus menerapkan sertifikat dengan file kunci privat yang disimpan secara lokal.

      Catatan

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

  3. Unggah file sertifikat (.pem) dan file kunci privat (.key) yang diekstrak ke server. Simpan mereka di direktori aman, seperti direktori /etc/ssl/cert.

    Catatan

    Anda dapat menggunakan fitur unggah file lokal dari alat login jarak jauh, seperti PuTTY, XShell, atau WinSCP, untuk mengunggah file. Jika Anda menggunakan instance Elastic Compute Service, untuk informasi lebih lanjut tentang cara mengunggah file, lihat Unggah atau unduh file.

Langkah 2: Konfigurasikan sistem dan lingkungan jaringan

Pastikan grup keamanan dan firewall sistem Anda mengizinkan lalu lintas masuk pada port HTTPS (443).

  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 aktual server Anda.
    sudo ss -tlnp | grep -q ':443 ' || sudo nc -l 443 & sleep 1; nc -w 3 -vz <your_server_public_ip> 443

    Jika keluarannya adalah Ncat: Connected to <Alamat IP publik server saat ini>: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 aktual 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 keluarannya adalah Connection to <alamat IP publik server saat ini> port [tcp/https] succeeded! atau [<alamat IP publik server saat ini>] 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 masuk pada port TCP 443. Jika tidak, layanan tidak akan dapat diakses. Langkah-langkah berikut menggunakan Alibaba Cloud Elastic Compute Service (ECS) sebagai contoh. Untuk platform cloud lainnya, lihat dokumentasi resmi mereka.

    Kunjungi halaman Instance Elastic Compute Service, klik nama instance target untuk masuk ke halaman detail instance. Lihat Tambah aturan grup keamanan untuk menambahkan aturan baru di Security Group dengan Action diatur ke Allow, Protocol Type ke Custom TCP, Destination Port Range ke HTTPS(443), dan Authorization Object ke All IPv4 Addresses.

  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 keluarannya adalah none, tidak ada tindakan lebih lanjut yang diperlukan. Jika tidak, jalankan perintah yang sesuai berdasarkan keluaran (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 bertahan 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

Langkah 3: Instal Sertifikat SSL pada Nginx

  1. Instal modul SSL untuk Nginx.

    Jalankan perintah berikut. Jika keluarannya adalah --with-http_ssl_module, modul SSL sudah terinstal. Jika tidak, instal itu.

    nginx -V 2>&1 | grep -o -- '--with-http_ssl_module'
    Catatan

    Jika sistem memberi pesan nginx: command not found, jalankan perintah menggunakan jalur instalasi aktual Nginx, seperti /usr/local/nginx/sbin/nginx. Contohnya: /usr/local/nginx/sbin/nginx -V 2>&1 | grep -o -- '--with-http_ssl_module'.

    Pilih metode instalasi modul SSL berdasarkan cara Nginx diinstal (dikompilasi dari sumber atau menggunakan manajer paket):

    Penting
    • Selama proses penambahan modul SSL, layanan Nginx mungkin terganggu sebentar, yang dapat memengaruhi bisnis online Anda.

    • Selalu cadangkan konfigurasi dan data Nginx Anda terlebih dahulu. Lakukan perubahan ini selama jam-jam sepi. Setelah modifikasi selesai, pulihkan konfigurasi dan verifikasi bahwa layanan berjalan normal.

    Menggunakan manajer paket

    Jalankan perintah berikut di terminal server:

    RHEL/CentOS

    # Tambah repositori resmi Nginx.
    sudo tee /etc/yum.repos.d/nginx.repo <<EOF
    [nginx-stable]
    name=nginx stable repo
    baseurl=https://nginx.org/packages/centos/\$releasever/\$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    EOF
    
    # Tingkatkan Nginx.
    sudo yum upgrade nginx

    Debian/Ubuntu

    # Tingkatkan Nginx.
    sudo apt-get update
    sudo apt-get install --only-upgrade nginx
    Mengompilasi dari sumber
    1. Instal dependensi.

      RHEL/CentOS

      sudo yum install -y gcc pcre-devel zlib-devel openssl-devel

      Debian/Ubuntu

      sudo apt-get update
      sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
    2. Lihat parameter kompilasi Nginx saat ini.

      nginx -V

      Catat semua parameter setelah configure arguments:. Anda akan membutuhkan semuanya saat mengkompilasi ulang.

    3. Unduh paket kode sumber yang sesuai dengan versi Nginx saat ini.

      Jalankan nginx -v untuk melihat versi Nginx saat ini (1.14.2 digunakan sebagai contoh). Kemudian, unduh dan ekstrak paket kode sumber untuk versi Nginx saat ini:

      wget http://nginx.org/download/nginx-1.14.2.tar.gz
      tar -zxvf nginx-1.14.2.tar.gz
      cd nginx-1.14.2
    4. Kompilasi ulang Nginx untuk menambahkan modul SSL.

      Tambahkan --with-http_ssl_module ke parameter configure arguments: yang telah Anda catat dan kompilasi ulang:

      # Catatan: Anda harus menyimpan semua parameter asli untuk menghindari kehilangan modul fungsional yang ada.
      ./configure <Parameter Asli> --with-http_ssl_module
      make
      Catatan

      Jika Anda menemui kesalahan error: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] saat menjalankan make, ini menunjukkan bahwa beberapa kode Nginx telah ditandai sebagai usang di OpenSSL 3.0 atau lebih baru, dan kompiler memperlakukannya sebagai kesalahan. Anda dapat mengabaikan peringatan ini dan menyelesaikan kompilasi dengan menjalankan: make CFLAGS='-Wno-error=deprecated-declarations'.

    5. Ganti file executable Nginx.

      Cadangkan file executable Nginx asli (jalur /usr/local/nginx/sbin/nginx digunakan sebagai contoh):

      # Ganti /usr/local/nginx/sbin/nginx dengan jalur aktual file nginx.
      sudo cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

      Timpa file executable Nginx asli:

      # Ganti /usr/local/nginx/sbin/nginx dengan jalur aktual file nginx.
      sudo cp objs/nginx /usr/local/nginx/sbin/nginx
    6. Verifikasi bahwa modul SSL telah terinstal.

      nginx -V 2>&1 | grep -o -- '--with-http_ssl_module'

      Jika keluarannya adalah --with-http_ssl_module, modul SSL telah terinstal.

  2. Konfigurasikan file sertifikat SSL dan file kunci privat di Nginx.

    Penting

    Topik ini menggunakan versi Nginx 1.14.2 dan jalur file konfigurasi /etc/nginx/nginx.conf sebagai contoh. Langkah-langkah ini juga berlaku untuk Tengine, yang kompatibel dengan konfigurasi Nginx. Untuk menemukan file konfigurasi Anda, lihat Bagaimana cara menemukan file konfigurasi Nginx aktif (nginx.conf) di server Linux?.

    1. Jalankan perintah berikut untuk membuka file konfigurasi.

      sudo vim /etc/nginx/nginx.conf
    2. Tambahkan blok server untuk mendengarkan port 443.

      Buat blok server baru untuk HTTPS dengan menyalin yang ada untuk port 80. Dalam blok baru, ubah listen 80 menjadi listen 443 ssl dan tambahkan konfigurasi sertifikat SSL, termasuk direktif ssl_certificate dan ssl_certificate_key. Biarkan bidang lainnya tetap tidak berubah.

      # Blok server asli yang mendengarkan port 80
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com;
          
          # Konfigurasi lainnya
          location / {
              proxy_pass http://127.0.0.1:8000;
          }
      }
      
      # Blok server baru untuk HTTPS.
      server {
          # Ubah 'listen 80' asli menjadi 'listen 443 ssl'.
          listen 443 ssl;
          # Nama server asli. Anda dapat menambahkan lebih banyak nama domain yang didukung oleh sertifikat saat ini.
          server_name yourdomain.com www.yourdomain.com;
          
          # ======================= Mulai konfigurasi sertifikat =======================
          # Tentukan file sertifikat (sertifikat perantara dapat ditambahkan ke file .pem ini). Ganti /etc/ssl/cert/ssl.pem dengan jalur mutlak file sertifikat Anda.
          ssl_certificate /etc/ssl/cert/ssl.pem;
          # Tentukan file kunci privat. Ganti /etc/ssl/cert/ssl.key dengan jalur mutlak file kunci privat Anda.
          ssl_certificate_key /etc/ssl/cert/ssl.key;
          # Konfigurasikan cache sesi SSL untuk meningkatkan performa.
          ssl_session_cache shared:SSL:1m;
          # Atur periode waktu habis cache sesi SSL.
          ssl_session_timeout 5m;
          # Sesuaikan jenis protokol TLS dan paket sandi yang digunakan (berikut adalah contoh konfigurasi; 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 lebih baik untuk komunikasi HTTPS, tetapi memiliki kompatibilitas browser yang lebih buruk dibandingkan versi TLS yang lebih rendah.
          ssl_protocols TLSv1.2 TLSv1.3;
          # Utamakan paket sandi yang ditentukan oleh server.
          ssl_prefer_server_ciphers on;
          # ======================= Akhir konfigurasi sertifikat =======================
         
          # Konfigurasi lainnya
      }
    3. Opsional: Atur pengalihan otomatis dari HTTP ke HTTPS. Tambahkan direktif return ke blok server asli yang mendengarkan port 80.

      # Blok server asli yang mendengarkan port 80
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com;
              
          # Atur pengalihan otomatis dari HTTP ke HTTPS.
          return 301 https://$host$request_uri;
          
          # Konfigurasi asli lainnya dapat dihapus karena tidak akan lagi tercapai.
      }
    4. Jalankan perintah berikut untuk memeriksa file konfigurasi terhadap kesalahan sintaksis. Jika keluarannya adalah syntax is ok dan test is successful, pengujian berhasil. Jika tidak, perbaiki konfigurasi berdasarkan pesan kesalahan hingga pengujian berhasil.

      sudo nginx -t -c /etc/nginx/nginx.conf
  3. Muat ulang layanan Nginx.

    Penting

    Topik ini mengasumsikan Nginx dimulai dengan jalur konfigurasi default. Jika Anda memiliki jalur instalasi atau file konfigurasi kustom, sesuaikan perintah dan jalurnya sesuai.

    Pilih operasi yang sesuai berdasarkan apakah layanan Nginx sedang berjalan:

    Jika layanan Nginx sedang berjalan

    Jalankan perintah berikut untuk memuat ulang konfigurasi Nginx tanpa me-restart layanan atau memutus koneksi yang ada. Jika pemuat ulang gagal, lihat FAQ untuk pemecahan masalah.

    sudo nginx -s reload

    Jika layanan Nginx tidak berjalan

    Jalankan perintah berikut untuk memulai layanan Nginx.

    nginx

Langkah 4: Verifikasi penerapan

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

  2. Jika ikon gembok muncul di bilah alamat browser, sertifikat telah berhasil diterapkan. Jika terjadi kesalahan akses atau ikon gembok tidak muncul, bersihkan cache browser Anda atau coba akses kembali 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.

Tayang

Saat menerapkan 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 pemasangan sertifikat pada Server Load Balancer (SLB). Gateway mengakhiri lalu lintas HTTPS dan meneruskan lalu lintas HTTP yang didekripsi ke aplikasi backend.

  • Kelola kredensial secara eksternal:

    Jangan pernah menyematkan 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.

  • Monitor sertifikat dan otomatiskan pembaruan:

    Setelah menerapkan sertifikat, aktifkan pemantauan domain. Alibaba Cloud secara otomatis memeriksa periode validitas sertifikat dan mengirimkan pengingat pembaruan sebelum kedaluwarsa untuk membantu Anda menghindari gangguan layanan. Untuk informasi lebih lanjut, lihat Pembelian dan aktivasi 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 Anda memodifikasi file konfigurasi. Lihat Muat ulang layanan Nginx untuk instruksi.

  • Konfigurasi sertifikat salah: File sertifikat tidak diganti dengan benar, atau konfigurasi Nginx menunjuk ke jalur file yang salah. Pastikan jalur untuk ssl_certificate dan ssl_certificate_key sudah benar.

  • Sertifikat hilang 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 dipasang di layanan tersebut. Lihat Lokasi penerapan sertifikat ketika lalu lintas melewati beberapa layanan Alibaba Cloud.

  • Penerapan tidak lengkap di beberapa server: Jika DNS domain Anda diselesaikan ke beberapa server, sertifikat harus dipasang di semuanya.

Bagaimana cara yang benar untuk memperbarui atau mengganti sertifikat SSL pada server Nginx?

Ikuti langkah-langkah berikut untuk memperbarui sertifikat Anda tanpa downtime:

  1. Cadangkan file lama: Cadangkan file sertifikat (.pem) dan file kunci privat (.key) saat ini di server.

  2. Dapatkan file baru: Unduh file sertifikat dan kunci privat baru dari konsol Layanan Manajemen Sertifikat Anda.

  3. Ganti file: Unggah file baru ke server Anda, menimpa yang lama. Pastikan file baru memiliki jalur dan nama file yang persis sama seperti yang ditentukan dalam konfigurasi Nginx Anda.

  4. Muat ulang Nginx: Muat ulang layanan Nginx untuk menerapkan sertifikat baru.

Bagaimana cara menemukan file konfigurasi Nginx aktif (nginx.conf) di server Linux?

Pertama, periksa apakah file konfigurasi kustom digunakan saat runtime.

  1. Di terminal, jalankan ps -ef | grep '[n]ginx: master' | grep -- ' -c '. Jika keluarannya mirip dengan -c /etc/nginx/custom.conf, Nginx menggunakan file konfigurasi /etc/nginx/custom.conf.

  2. Jika tidak ada keluaran seperti yang dijelaskan di langkah 1, Nginx menggunakan jalur kompilasi defaultnya. Jalankan nginx -V 2>&1 | grep -oP -- '--conf-path=[^ ]*' untuk melihat jalur file konfigurasi default. Contohnya, --conf-path=/etc/nginx/nginx.conf menunjukkan bahwa /etc/nginx/nginx.conf digunakan secara default.

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

Ubah direktif ssl_protocols dalam file konfigurasi Nginx Anda hanya ke TLSv1.2 dan TLSv1.3 untuk ssl_protocols.

Konfigurasi akhir harus ssl_protocols TLSv1.2 TLSv1.3;. Ini menonaktifkan TLSv1.0 dan TLSv1.1 yang tidak aman. Setelah Anda memodifikasi konfigurasi, jalankan nginx -s reload untuk menerapkan pengaturan.

Mengapa nginx -t gagal dengan kesalahan bind() to 0.0.0.0:443 failed (98: Address already in use)?

Kesalahan ini berarti proses lain sudah mendengarkan port 443, mencegah Nginx untuk mengikatnya.

  1. Temukan proses yang bertentangan: Jalankan perintah sudo ss -tlnp | grep :443 untuk mengidentifikasi proses mana yang menggunakan port 443:

  2. Hentikan atau rekonfigurasi proses: Setelah diidentifikasi, Anda harus menghentikan proses yang bertentangan (seperti server web lain seperti Apache atau instance Nginx yang macet) atau rekonfigurasi untuk menggunakan port berbeda.

Mengapa pengujian konfigurasi Nginx saya gagal dengan kesalahan: cannot load certificate "/etc/nginx/ssl/domain.pem" : BIO_new_file() failed?

Kesalahan ini berarti Nginx tidak dapat menemukan file sertifikat di lokasi yang ditentukan dalam konfigurasi Anda.

Untuk memperbaikinya, perbaiki jalur dalam direktif ssl_certificate atau ssl_certificate_key dalam file konfigurasi Nginx Anda ke jalur mutlak yang benar ke file sertifikat Anda.

Mengapa memuat ulang Nginx gagal dengan kesalahan the "ssl" parameter requires ngx_http_ssl_module?

Kesalahan ini menunjukkan bahwa build Nginx Anda kehilangan modul SSL, yang diperlukan untuk menangani lalu lintas HTTPS.

Anda harus menginstal atau mengompilasi ulang Nginx dengan modul ngx_http_ssl_module diaktifkan. Untuk instruksi, lihat Instal modul SSL untuk Nginx.

Saat memuat ulang Nginx, mengapa saya mendapatkan kesalahan No such file or directory:fopen('/cert/3970497_demo.aliyundoc.com.pem','r') yang menunjuk ke file sertifikat saya?

Kesalahan ini berarti jalur file yang ditentukan untuk ssl_certificate atau ssl_certificate_key dalam konfigurasi Nginx Anda salah.

Untuk menyelesaikan ini, verifikasi bahwa jalur dalam file konfigurasi Anda adalah jalur mutlak yang benar ke file .pem dan .key Anda dan bahwa file tersebut ada di lokasi itu.

Mengapa memuat ulang Nginx gagal dengan kesalahan permission denied saat mencoba membaca file sertifikat SSL saya?

Kesalahan ini terjadi karena pengguna yang menjalankan proses pekerja Nginx tidak memiliki izin baca untuk file sertifikat atau direktori induknya.

  1. Identifikasi pengguna Nginx: Cari direktif user dalam file nginx.conf utama Anda (seperti user nginx;).

  2. Periksa izin: Pastikan pengguna ini memiliki izin baca (r) pada file sertifikat dan kunci privat, serta izin eksekusi (x) pada semua direktori induk yang mengarah ke mereka.