Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk menyokong protokol HTTP/2 untuk perkhidmatan web?
Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk menyokong protokol HTTP/2 untuk perkhidmatan web?
Pengenalan
Protokol HTTP/2, sebagai versi HTTP/1.1 yang dinaik taraf, telah menjadi standard baharu untuk Protokol Pemindahan Hiperteks dalam pelayan Web dengan meningkatkan prestasi dan ciri keselamatan. Sebagai pelayan web berprestasi tinggi, Nginx juga menyokong penggunaan protokol HTTP/2. Artikel ini akan memperkenalkan cara mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk menyokong protokol HTTP/2 perkhidmatan web.
Langkah 1: Buat bekas Docker
Mula-mula, kita perlu mencipta bekas Docker pada komputer tempatan kita. Anda boleh mencipta bekas baharu melalui arahan Docker, contohnya:
docker run -d -p 80:80 --name nginx-proxy nginx:latest
Arahan di atas akan mencipta bekas bernama nginx-proxy dan memetakan port 80 komputer tempatan ke port 80 dalam bekas.
Langkah 2: Masukkan bekas Docker
Masukkan bekas yang baru anda buat dengan arahan berikut:
docker exec -it nginx-proxy bash
Arahan ini akan memasuki terminal bash bekas proksi nginx.
Langkah 3: Edit fail konfigurasi Nginx
Dalam bekas, kita perlu mengedit fail konfigurasi Nginx untuk mendayakan protokol HTTP/2. Secara lalai, fail konfigurasi Nginx terletak di /etc/nginx/nginx.conf. Buka fail dengan editor teks, contohnya:
vim /etc/nginx/nginx.conf
Dalam fail yang dibuka, cari item konfigurasi berikut:
listen 80;
Kemudian, tambahkan yang berikut di bawah baris untuk mendayakan protokol HTTP/2:
listen 443 ssl http2;
Ini Konfigurasi akan menukar port yang didengari Nginx kepada 443 dan mendayakan protokol SSL dan HTTP/2.
Langkah 4: Jana Sijil SSL
Memandangkan protokol HTTP/2 memerlukan penggunaan komunikasi yang disulitkan SSL, kami perlu menjana sijil SSL untuk Nginx. Anda boleh menggunakan alat OpenSSL untuk menjana sijil yang ditandatangani sendiri. Jalankan arahan berikut dalam bekas untuk menjana sijil SSL:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Arahan di atas akan menghasilkan sijil yang ditandatangani sendiri sah selama 365 hari dan menyimpan kunci peribadi ke fail /etc/nginx/ssl/nginx.key sijil kepada fail /etc/nginx/ssl/nginx.crt.
Langkah 5: Konfigurasikan pelayan proksi Nginx
Kini, kita perlu mengedit fail konfigurasi pelayan proksi Nginx. Biasanya, fail konfigurasi pelayan proksi terletak di /etc/nginx/conf.d/default.conf. Buka fail dengan editor teks, contohnya:
vim /etc/nginx/conf.d/default.conf
Dalam fail yang dibuka, cari item konfigurasi berikut:
location / { proxy_pass http://backend; }
Kemudian, tambah kandungan berikut di atas item konfigurasi untuk menentukan sijil SSL dan dayakan protokol HTTP/2 :
listen 443 ssl http2; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key;
Konfigurasi ini akan memberitahu Nginx untuk menggunakan sijil SSL yang dijana sebelum ini dan mendayakan protokol HTTP/2.
Langkah 6: Mulakan semula perkhidmatan Nginx
Selepas melengkapkan konfigurasi di atas, kita perlu memulakan semula perkhidmatan Nginx untuk konfigurasi berkuat kuasa. Jalankan arahan berikut dalam bekas untuk memulakan semula perkhidmatan Nginx:
nginx -s reload
Kini, pelayan proksi Nginx telah dikonfigurasikan dan menyokong perkhidmatan web menggunakan protokol HTTP/2.
Kesimpulan
Melalui langkah dalam artikel ini, kami berjaya mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk menyokong protokol HTTP/2 perkhidmatan web. Menggunakan protokol HTTP/2 boleh memberikan prestasi yang lebih pantas dan keselamatan yang lebih tinggi, menjadikan aplikasi web kami berjalan dengan lebih cekap dan boleh dipercayai dalam bekas.
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk menyokong protokol HTTP/2 untuk perkhidmatan web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!