Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik. Ia digunakan secara meluas dalam banyak laman web dan aplikasi besar kerana ia stabil dan boleh dipercayai. Sijil SSL (Secure Sockets Layer) ialah sijil digital yang digunakan untuk memindahkan data dengan selamat antara klien dan pelayan. Dalam Nginx, penggunaan sijil SSL berkait rapat dengan proksi terbalik. Artikel ini akan meneroka penggunaan sijil SSL dalam proksi terbalik Nginx dan pemantauannya.
Dalam Nginx, pelayan proksi terbalik bertindak sebagai pelayan hadapan, menerima permintaan daripada pelanggan dan memajukannya ke pelayan belakang. Apabila Nginx bertindak sebagai pelayan proksi terbalik, ia juga boleh digunakan untuk menyulitkan dan menyahsulit sambungan SSL, yang memerlukan penggunaan sijil SSL.
Untuk mengkonfigurasi sijil SSL dalam Nginx, kami perlu menjana sijil SSL terlebih dahulu. Sijil boleh dijana menggunakan pelbagai alatan, termasuk OpenSSL, Klien ACME dan Certbot. Di sini kami menggunakan OpenSSL untuk menjana sijil sebagai contoh.
Sebelum menggunakan OpenSSL untuk menjana sijil SSL, kami perlu memasang OpenSSL pada pelayan. Kita boleh menggunakan arahan berikut untuk mengesahkan sama ada OpenSSL telah dipasang:
openssl version
Jika maklumat versi OpenSSL dikembalikan, ini bermakna ia telah dipasang. Jika ia tidak dipasang, anda boleh memasangnya melalui arahan berikut:
sudo apt-get update sudo apt-get install openssl
Selepas pemasangan selesai, kita boleh menggunakan arahan berikut untuk menjana sijil:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Arahan ini akan menjana sijil sah selama 365 hari Tandatangani sijil SSL dan simpannya dalam direktori /etc/nginx/ssl. Antaranya, nginx.key ialah fail kunci peribadi, dan nginx.crt ialah fail sijil.
Setelah sijil dijana, ia boleh dikonfigurasikan ke dalam Nginx. Konfigurasi berikut boleh ditambahkan pada fail konfigurasi Nginx:
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # This line enables HTTPS for the proxy proxy_ssl_verify on; proxy_ssl_certificate /etc/nginx/ssl/nginx.crt; proxy_ssl_certificate_key /etc/nginx/ssl/nginx.key; proxy_ssl_session_reuse on; } }
Konfigurasi ini menunjukkan bahawa Nginx akan mendengar sambungan HTTPS pada port 443 dan menggunakan sijil SSL yang dijana untuk menyulitkan sambungan. Ia juga menyediakan proksi terbalik yang memajukan permintaan pelanggan ke http://localhost:8000.
Sijil SSL sah untuk masa yang terhad. Apabila sijil tamat tempoh, ia tidak lagi sah, menyebabkan tapak web menjadi tidak selamat. Oleh itu, sijil SSL yang digunakan dalam proksi terbalik Nginx perlu dipantau untuk memastikan tempoh sah sijil.
Berikut ialah beberapa kaedah biasa pemantauan sijil SSL:
Anda boleh menggunakan arahan berikut untuk melihat masa tamat tempoh SSL. sijil:
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
Di mana example.com ialah nama domain tapak web anda. Perintah ini akan mengeluarkan tarikh mula dan tarikh tamat sijil.
Nagios ialah penyelesaian pemantauan komprehensif yang membantu anda memantau pelayan, aplikasi dan perkhidmatan rangkaian. Ia juga boleh memantau masa tamat tempoh sijil SSL. Untuk menggunakan Nagios untuk memantau sijil SSL, anda perlu memasang Nagios dan pemalam Pemantauan Sijil SSL untuk Nagios.
Let's Encrypt ialah pihak berkuasa sijil SSL percuma yang membantu anda mengkonfigurasi sijil SSL untuk proksi terbalik Nginx. Selain itu, sijil Let's Encrypt sah selama 90 hari, jadi anda perlu memperbaharui sijil anda dengan kerap.
Untuk menggunakan Let's Encrypt untuk mendapatkan sijil SSL, anda perlu memasang Certbot. Selepas memasang Certbot, anda boleh menjalankan arahan berikut untuk mendapatkan sijil:
sudo certbot certonly --webroot -w /var/www/example.com -d example.com
Di mana /var/www/example.com ialah direktori akar tapak web anda dan example.com ialah nama domain tapak web anda. Certbot akan mengesahkannya secara automatik pada pelayan anda dan mengeluarkan sijil kepada anda.
Artikel ini memperkenalkan penggunaan dan kaedah pemantauan sijil SSL dalam proksi terbalik Nginx. Apabila menggunakan sijil SSL, anda mesti sentiasa menyemak tarikh tamat tempoh sijil. Dengan memperbaharui sijil secara automatik menggunakan pemantauan Nagios atau Let's Encrypt, anda boleh memastikan bahawa sijil anda sentiasa sah. Memantau sijil SSL ialah langkah penting dalam melindungi tapak web anda dan data pelanggan.
Atas ialah kandungan terperinci Pemantauan sijil SSL dalam proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!