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.
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.comhanya melindungiexample.com.www.example.comhanya melindungiwww.example.com.
Nama domain wildcard: Hanya berlaku untuk subdomain tingkat pertamanya.
*.example.comberlaku untuk subdomain tingkat pertama sepertiwww.example.comdana.example.com.*.example.comtidak melindungi domain rootexample.comatau subdomain multi-level sepertia.b.example.com.
CatatanUntuk 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
rootatau akun dengan hak istimewasudo.Resolusi DNS: Rekaman DNS domain dikonfigurasi dan diselesaikan ke alamat IP publik server.
Prosedur
Langkah 1: Persiapkan Sertifikat SSL
Kunjungi halaman Sertifikat SSL. Di kolom Actions untuk sertifikat target, klik Download Certificate. Pada tab Download, unduh sertifikat di mana Server Type adalah Nginx.
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.
CatatanJika 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.
Unggah file sertifikat (.pem) dan file kunci privat (.key) yang diekstrak ke server. Simpan mereka di direktori aman, seperti direktori
/etc/ssl/cert.CatatanAnda 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).
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> 443Jika 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> 443Jika 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.Buka port 443 di konfigurasi grup keamanan Anda.
PentingJika 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.
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 keluarannya adalah
none, tidak ada tindakan lebih lanjut yang diperlukan. Jika tidak, jalankan perintah yang sesuai berdasarkan keluaran (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 bertahan 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
Langkah 3: Instal Sertifikat SSL pada Nginx
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'CatatanJika 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):
PentingSelama 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 nginxDebian/Ubuntu
# Tingkatkan Nginx. sudo apt-get update sudo apt-get install --only-upgrade nginxMengompilasi dari sumber
Instal dependensi.
RHEL/CentOS
sudo yum install -y gcc pcre-devel zlib-devel openssl-develDebian/Ubuntu
sudo apt-get update sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-devLihat parameter kompilasi Nginx saat ini.
nginx -VCatat semua parameter setelah
configure arguments:. Anda akan membutuhkan semuanya saat mengkompilasi ulang.Unduh paket kode sumber yang sesuai dengan versi Nginx saat ini.
Jalankan
nginx -vuntuk 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.2Kompilasi ulang Nginx untuk menambahkan modul SSL.
Tambahkan
--with-http_ssl_moduleke parameterconfigure 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 makeCatatanJika Anda menemui kesalahan
error: ‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]saat menjalankanmake, 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'.Ganti file executable Nginx.
Cadangkan file executable Nginx asli (jalur
/usr/local/nginx/sbin/nginxdigunakan 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.bakTimpa file executable Nginx asli:
# Ganti /usr/local/nginx/sbin/nginx dengan jalur aktual file nginx. sudo cp objs/nginx /usr/local/nginx/sbin/nginxVerifikasi 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.
Konfigurasikan file sertifikat SSL dan file kunci privat di Nginx.
PentingTopik ini menggunakan versi Nginx 1.14.2 dan jalur file konfigurasi
/etc/nginx/nginx.confsebagai 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?.Jalankan perintah berikut untuk membuka file konfigurasi.
sudo vim /etc/nginx/nginx.confTambahkan blok server untuk mendengarkan port 443.
Buat blok
serverbaru untuk HTTPS dengan menyalin yang ada untuk port 80. Dalam blok baru, ubahlisten 80menjadilisten 443 ssldan tambahkan konfigurasi sertifikat SSL, termasuk direktifssl_certificatedanssl_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 }Opsional: Atur pengalihan otomatis dari HTTP ke HTTPS. Tambahkan direktif
returnke blokserverasli 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. }Jalankan perintah berikut untuk memeriksa file konfigurasi terhadap kesalahan sintaksis. Jika keluarannya adalah
syntax is okdantest is successful, pengujian berhasil. Jika tidak, perbaiki konfigurasi berdasarkan pesan kesalahan hingga pengujian berhasil.sudo nginx -t -c /etc/nginx/nginx.conf
Muat ulang layanan Nginx.
PentingTopik 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 reloadJika layanan Nginx tidak berjalan
Jalankan perintah berikut untuk memulai layanan Nginx.
nginx
Langkah 4: Verifikasi penerapan
Akses domain Anda melalui HTTPS di browser web. Contohnya,
https://yourdomain.com. Gantiyourdomain.comdengan domain aktual Anda.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).

Mulai versi 117, ikon
di bilah alamat Chrome telah diganti dengan ikon baru
. Klik ikon ini untuk melihat informasi gembok.
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.
CatatanPendekatan 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_certificatedanssl_certificate_keysudah 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.
Untuk pemecahan masalah lebih lanjut, lihat Selesaikan masalah penerapan sertifikat berdasarkan pesan kesalahan browser dan Panduan pemecahan masalah penerapan sertifikat SSL.
Bagaimana cara yang benar untuk memperbarui atau mengganti sertifikat SSL pada server Nginx?
Ikuti langkah-langkah berikut untuk memperbarui sertifikat Anda tanpa downtime:
Cadangkan file lama: Cadangkan file sertifikat (
.pem) dan file kunci privat (.key) saat ini di server.Dapatkan file baru: Unduh file sertifikat dan kunci privat baru dari konsol Layanan Manajemen Sertifikat Anda.
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.
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.
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.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.confmenunjukkan bahwa/etc/nginx/nginx.confdigunakan 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.
Temukan proses yang bertentangan: Jalankan perintah
sudo ss -tlnp | grep :443untuk mengidentifikasi proses mana yang menggunakan port 443: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.
Identifikasi pengguna Nginx: Cari direktif
userdalam filenginx.confutama Anda (sepertiuser nginx;).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.