Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi nginx untuk menggunakan modul ssl untuk menyokong akses HTTPS

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

王林
王林ke hadapan
2023-05-21 18:10:062178semak imbas

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 / {
#
#
#}
#}

(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;
  }
}

Simpan dan keluar. 4) Mulakan semula nginx.
nginx -s reload

(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

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

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

mark
(4) Kemudian sandarkan nginx yang dipasang asal

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

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

nginx -s stop

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

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

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

cp ./objs/nginx /usr/local/nginx/sbin/

(7) Mulakan nginx

nginx

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

nginx -v

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam