Tartikel ini akan membimbing dana melalui langkah-langkah untuk memasang sijil SSL dana pada Nginx dan untuk menyediakan pengalihan automatik dari HTTP:// ke HTTPS://.
1. Muat naik sijil pada pelayan di mana laman web dana dihoskan
Setelah selesai menjana kod CSR dan langkah pengaktifan SSL, dana akan menerima fail zip dengan Sijil Sectigo (sebelumnya dikenali sebagai Comodo) melalui e-mel. Sebagai alternatif, dana boleh memuat turunnya dari panel Akaun NiceNic dana.
Tidakta: Jika dana memilih pelayan NGINX semasa mengaktifkan sijil, dana akan menerima fail zip yang mengdanungi fail Sijil, dengan sambungan '.crt', dan fail Bundle Pihak Berkuasa Sijil (CA), dengan sambungan '.ca-bundle'.
Muat naik kedua-dua fail ke pelayan dana dengan cara yang dana suka. Contohnya dengan menggunakan klien FTP.
Anda juga boleh memuat turun fail Bundle untuk setiap Sijil dengan mengikuti arahan di sini.
2. Gabungkan semua sijil ke dalam satu fail
Anda perlu mempunyai semua Sijil (anda_domain.crt dan anda_domain.ca-bundle) digabungkan dalam satu fail '.crt'.
Sijil untuk domain dana harus berada di awal fail, diikuti oleh rantaian Sijil (Bundle CA).
Masuk ke direktataui di mana dana memuat naik fail sijil. Jalankan arahan berikut untuk menggabungkan fail-fail tersebut:
$ cat anda_domain.crt anda_domain.ca-bundle >> anda_domain_chain.crt
Sila ambil perhatian bahawa jika fail sijil dimuat turun dari akaun NiceNic dana, arahan terbaik untuk digunakan ialah:
$ cat anda_domain.crt > anda_domain_chain.crt ; echo >> anda_domain_chain.crt ; cat anda_domain.ca-bundle >> anda_domain_chain.crt
3. Membuat blok pelayan Nginx berasingan atau Mengubah suai fail konfigurasi yang sedia ada
Untuk memasang sijil SSL pada Nginx, dana perlu menunjukkan pelayan fail mana yang hendak digunakan, sama ada dengan a) membuat fail konfigurasi baru, atau b) mengedit yang sedia ada.
a) Dengan menambah fail konfigurasi baru untuk laman web, dana boleh memastikan tiada isu dengan fail konfigurasi berasingan. Selain itu, ia akan lebih mudah untuk menyelesaikan masalah pemasangan sekiranya terdapat sebarang isu dengan konfigurasi baru tersebut.
Kami mencadangkan membuat fail konfigurasi baru dalam folder ini:
/etc/nginx/conf.d
Ini boleh dilakukan dengan arahan ini:
sudo nano /etc/nginx/conf.d/Your_domain*-ssl.conf
Di mana Your_domain*-ssl.conf adalah nama fail yang baru dibuat.
Seterusnya, salin dan tampal salah satu blok pelayan di bawah untuk pataut 443 dan sunting direktataui. Pastikan nama pelayan dan laluan ke webroot sepadan dalam kedua-dua blok pelayan untuk pataut 80 dan pataut 443. Jika dana mempunyai nilai penting lain yang perlu disimpan, pindahkan juga ke blok pelayan yang baru dibuat.
b) Sunting fail konfigurasi lalai pelayan web, yang dinamakan nginx.conf. Fail ini sepatutnya berada di salah satu folder berikut:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Anda juga boleh menggunakan arahan ini untuk mencari fail tersebut:
sudo find / -type f -iname "nginx.conf"
Setelah menemuinya, buka fail dengan:
sudo nano nginx.conf
Kemudian salin dan tampal salah satu blok pelayan untuk pataut 443 yang diberikan di bawah dan sunting direktataui mengikut blok pelayan dana untuk pataut 80 (dengan nama pelayan yang sama, laluan ke webroot, dan sebarang nilai penting yang dana perlukan). Alternatifnya, dana boleh salin blok pelayan untuk pataut 80, kemudian tampal di bawah, kemaskini pataut dan tambah arahan berkaitan SSL yang diperlukan.
Pilih blok pelayan:
Di bawah dana boleh menemuinya blok pelayan untuk versi Nginx dana.
Tidakta: Untuk memeriksa versi Nginx dana, jalankan arahan ini:
sudo nginx -v

Tidakta: Gantikan nilai nama fail, seperti anda_domain_chain.crt, dalam blok pelayan dengan butiran dana, dan ubah laluan kepada mereka menggunakan/path/to/.
Blok pelayan untuk versi Nginx 1.14 dan ke bawah:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/anda_domain_chain.crt;
ssl_certificate_key /path/to/anda_private.key;
root /path/to/webroot;
server_name anda_domain.com;
}
Tidakta: Anda boleh menentukan pelbagai nama hos dalam konfigurasi seperti ini, jika perlu, contohnya:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/anda_domain_chain.crt;
ssl_certificate_key /path/to/anda_private.key;
root /path/to/webroot;
server_name anda_domain.com www.anda_domain.com;
}
Blok pelayan untuk versi Nginx 1.15 dan ke atas:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/anda_domain_chain.crt;
ssl_certificate_key /path/to/anda_private.key;
root /path/to/webroot;
server_name anda_domain.com;
}
ssl_certificate harus ditunjuk ke fail dengan sijil gabungan yang dana buat sebelum ini.
ssl_certificate_key harus ditunjuk ke Kunci Peribadi yang dijana bersama dengan kod CSR.
Berikut adalah beberapa petua tentang cara mencari Kunci Peribadi pada Nginx.
Penting: Untuk sama ada Sijil Multi-Domain atau Wildcard, dana perlu mempunyai blok pelayan berasingan yang ditambah untuk setiap domain/subdomain yang termasuk dalam Sijil. Pastikan dana nyatakan domain/subdomain yang berkenaan bersama dengan laluan ke fail Sijil yang sama dalam blok pelayan, seperti yang diterangkan di atas.
Setelah blok pelayan yang sepadan ditambah ke fail, pastikan dana simpan suntingan. Kemudian, dana boleh menyemak semula perubahan yang dibuat dengan langkah-langkah berikut.
Jalankan arahan ini untuk mengesahkan bahawa sintaks fail konfigurasi adalah betul:
sudo nginx -t

Jika dana menerima ralat, semak semula bahawa dana mengikuti pdanuan dengan betul. Sila hubungi Pasukan Sokongan kami jika dana mempunyai sebarang pertanyaan.
Ini petua: untuk mencari log ralat bagi penyelesaian masalah, jalankan sahaja:
sudo nginx -T | grep 'erratau_log'
Sekiranya tiada fail yang disebut wujud, fail dikomenkan atau jika tiada fail log ralat yang dinyatakan, log sistem lalai harus diperiksa:
tail /var/log/nginx/erratau.log -n 20{{/G277}}
Jika pelayan memaparkan ujian berjaya, mulakan semula Nginx dengan arahan ini untuk menerapkan perubahan:
sudo nginx -s reload
Sekarang sijil SSL dana telah dipasang. Anda boleh menyemak pemasangan di sini.
Tidakta penting:
Kadang-kadang, selepas memasang fail SSL yang digabung menggunakan baris arahan, dana mungkin menerima mesej ralat 'Nginx/Apache erratau: 0906D066:PEM routines:PEM_read_bio:bad end line'. Dalam kes ini, penyelesaian boleh didapati dalam pdanuan rujukan.
Satu lagi isu biasa pada tahap ini ialah mesej ralat 'Nginx SSL: erratau:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch', dana boleh mencari lebih banyak butiran mengenainya dan kemungkinan penyelesaiannya dalam artikel ini.
4. Konfigurasikan pengalihan HTTPS
Kami mencadangkan dana memasang pengalihan dari HTTP ke HTTPS. Dengan cara itu, pelawat ke laman web dana hanya akan dapat mengakses versi selamat laman dana.
Untuk melakukan ini, dana perlu menambah satu baris ke fail konfigurasi dengan blok pelayan untuk pataut 80.
Petua:
Anda boleh menggunakan salah satu arahan berikut untuk melihat fail konfigurasi yang sedang diaktifkan sekarang:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Laluan lalai ke fail conf adalah:
pada OS Linux berasaskan RHEL: /etc/nginx/conf.d/default.conf
pada OS Linux berasaskan Debian: /etc/nginx/sites-enabled/default
Anda boleh membuka fail-fail tersebut untuk memeriksa yang mana mengdanungi blok pelayan yang diperlukan. Untuk ini, jalankan:
sudo nano name_of_the_file
Setelah dana menemui fail yang mengdanungi blok pelayan untuk pataut 80 (pataut HTTP lalai), tambah baris berikut:
return 301 https://$server_name$request_uri;
Tidakta: Peraturan pengalihan di atas harus dimasukkan sebagai baris terakhir dalam blok pelayan.