Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

王林
Lepaskan: 2023-05-21 18:10:06
ke hadapan
2215 orang telah melayarinya

Latar Belakang:

Aplet WeChat digunakan dalam pembangunan projek, tetapi URL konfigurasi pelayan mestilah https, jadi modul ssl nginx perlu dikonfigurasikan untuk menyokong akses https, itu adalah untuk mengatakan Untuk membuat tapak web dengan nama domain dmsdbj.com, ia diperlukan untuk mengaksesnya melalui https://dmsdbj.com.

SSL dipanggil lapisan soket selamat dalam bahasa Inggeris. SSL ialah sijil digital yang menggunakan protokol SSL untuk mewujudkan saluran selamat antara penyemak imbas dan pelayan web. Maklumat data dihantar dengan selamat antara klien dan pelayan. . Untuk mengkonfigurasi modul SSL, pertama anda memerlukan sijil CA Sijil CA boleh dikeluarkan secara manual atau dipohon pada Alibaba Cloud. (Untuk pengeluaran manual, sila rujuk pautan di bahagian bawah artikel)

2. Modul ssl tidak dipasang secara lalai. Jika anda ingin menggunakan modul ini, anda perlu menentukan –dengan-. Parameter http_ssl_module semasa menyusun nginx

1. Log masuk ke Alibaba Cloud, Pilih "Console" - "Produk dan Perkhidmatan", dan pilih "C Certificate Service (Data Security)" dalam lajur "Security (Cloud Shield)".

2 Klik "Muat turun" pada sijil yang dibeli, dan pilih "nginx/tengine" pada halaman yang baru dibuka. Muat turun sijil untuk nginx".

Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS2. Pasang sijil dalam fail konfigurasi nginx

Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPSPerihalan fail: 1. . Fail sijil "nama sijil.pem" mengandungi dua bahagian kandungan Tolong jangan padamkan sebarang kandungan 2. Jika ia adalah csr yang dibuat oleh sistem sijil, ia juga mengandungi: fail kunci peribadi sijil "nama.kunci. ". (1) Dalam Cipta folder sijil dalam direktori di mana fail konfigurasi nginx terletak, dan salin semua fail yang dimuat turun ke direktori sijil. Jika anda mencipta sendiri fail csr semasa memohon sijil, sila letakkan fail peribadi yang sepadan fail kunci dalam direktori sijil dan namakannya ialah "nama.kunci sijil";

(2) Buka fail nginx.conf dalam direktori conf di bawah direktori pemasangan nginx, cari:

# https server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
Salin selepas log masuk

(3) Ubah suai kepada (atribut berikut Atribut yang bermula dengan ssl berkaitan secara langsung dengan konfigurasi sijil. Sila salin atau laraskan atribut lain mengikut situasi sebenar anda): Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

server {
  listen 443;
  server_name localhost;
  ssl on;
  root html;
  index index.html index.htm;
  ssl_certificate  cert/证书名称.pem;
  ssl_certificate_key cert/证书名称.key;
  ssl_session_timeout 5m;
  ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4;
  ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
  ssl_prefer_server_ciphers on;
  location / {
    root html;
    index index.html index.htm;
  }
}
Salin selepas log masuk

Simpan dan keluar. 4) Mulakan semula nginx.
nginx -s reload
Salin selepas log masuk

(5) Akses tapak anda melalui https dan uji konfigurasi pemasangan sijil tapak Masukkan https://dmsdbj.com dalam penyemak imbas, seperti yang ditunjukkan dalam rajah di bawah, menunjukkan bahawa konfigurasi berjaya. >Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

Masalah yang dihadapi semasa pemasangan

Ralat 1:

nginx: [ emerg ] arahan "ssl" tidak diketahui dalam /usr/local/nginx/conf/nginx.conf:151

Penyelesaian:

Ralat ini mungkin disebabkan oleh dua situasi :

Kes satu: Format fail konfigurasi tidak betul Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

Pautan rujukan penyelesaian:

Kes kedua: Modul ssl tidak dipasang

Situasi lalai tidak dipasang. Jika anda ingin menggunakan modul ini, anda perlu menentukan parameter --with-http_ssl_module semasa menyusun nginx nginx tidak mempunyai modul http_ssl_module Semasa menyusun dan memasang, hanya bawa konfigurasi --with-http_ssl_module Tetapi keadaan semasa ialah nginx saya sebenarnya sangat mudah : Direktori pemasangan nginx saya ialah direktori /usr/local/nginx, dan pakej kod sumber saya berada dalam direktori /usr/local/src/nginx-1.3.6

(1) Tukar kepada kod sumber pakej:

cd /root/nginx-1.13.6
Salin selepas log masuk

(2) Maklumat konfigurasi:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
Salin selepas log masuk

(3) Selepas konfigurasi selesai, jalankan make untuk menyusun Jangan lakukan pemasangan, jika tidak pemasangan akan ditimpa.

mark
Salin selepas log masuk
(4) Kemudian sandarkan nginx yang dipasang asal

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
Salin selepas log masuk

(5) Hentikan nginx, hanya gunakan perintah biasa nginx -s stop

nginx -s stop
Salin selepas log masuk

Jika ia diputar mati Jika tidak, matikan sahaja proses secara langsung. ps aux |. nama proses grep untuk melihat nombor pid yang diduduki oleh proses.

ps aux|grep nginx
Salin selepas log masuk

Bunuh sahaja pid yang dikesan Perintah kill -9 pid digunakan untuk menamatkan proses. Anda mesti membunuh pid yang sepadan dengan root dahulu sebelum anda boleh meneruskan dengan tiga pid nobody berikut.

kill -9 10922
kill -9 28276
kill -9 28277
kill -9 28278
Salin selepas log masuk

(6) Tulis ganti nginx asal dengan nginx yang baru disusun

cp ./objs/nginx /usr/local/nginx/sbin/
Salin selepas log masuk

(7) Mulakan nginx

nginx
Salin selepas log masuk

(8) Gunakan arahan berikut untuk menyemak sama ada Sudah menyertai dengan jayanya.

nginx -v
Salin selepas log masuk

Ralat 2:

nginx: [emerg] parameter "ssl" memerlukan ngx_http_ssl_module dalam /usr/local/nginx/conf/nginx.conf:148

Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

Penyelesaian:

Untuk penyelesaian kepada situasi ini, sila rujuk penyelesaian kepada situasi kedua ralat 1.

Ralat tiga:

menghentikan nginx... nginx: [emerg] bio_new_file("/usr/local/nginx/conf/cert/214291778530222. pem") gagal (ssl: ralat:02001002:pustaka sistem:fopen:tiada fail atau direktori sedemikian:fopen('/usr/local/nginx/conf/cert/214291778530222.pem','r') ralat:2006d080:bio routines:bio_new_file:no such file) failed use force-quit

Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

Penyelesaian:

Ini mungkin kerana laluan sijil tidak disimpan. di lokasi yang betul Ia disebabkan dengan betul, dan selagi laluan mutlak ditulis, ralat akan dilaporkan, tanpa mengira Windows atau Linux.

Letakkan fail sijil dalam direktori tempat nginx.conf berada.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!