Cara mengkonfigurasi pelayan proksi Nginx untuk menyulitkan perkhidmatan web menggunakan bekas Docker
Dalam dunia Internet hari ini, melindungi keselamatan perkhidmatan web telah menjadi semakin penting. Untuk melindungi data sensitif daripada dicuri atau diganggu semasa penghantaran, ia telah menjadi amalan standard untuk menggunakan protokol HTTPS untuk menyulitkan perkhidmatan web. Artikel ini akan memperkenalkan cara menggunakan bekas Docker untuk mengkonfigurasi pelayan proksi Nginx untuk melaksanakan penyulitan perkhidmatan web.
Docker ialah platform kontena sumber terbuka yang membantu pembangun memudahkan proses penempatan dan pengurusan aplikasi. Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang boleh mengendalikan ratusan atau ribuan sambungan serentak. Menggabungkan Docker dan Nginx, kami boleh mengkonfigurasi pelayan proksi web yang selamat dan cekap dengan mudah.
Langkah 1: Pasang Docker
Mula-mula, kita perlu memasang Docker. Anda boleh mencari kaedah pemasangan yang sesuai untuk sistem pengendalian anda di laman web rasmi Docker. Setelah pemasangan selesai, jalankan arahan berikut untuk mengesahkan bahawa Docker dipasang dengan betul:
$ docker --version
Langkah 2: Buat bekas Docker
Seterusnya, kami akan mencipta bekas Docker untuk menjalankan pelayan Nginx. Jalankan arahan berikut dalam baris arahan:
$ docker run --name nginx-proxy -p 80:80 -p 443:443 -d nginx
Dalam arahan di atas, kami menggunakan perintah docker run
untuk mencipta bekas bernama nginx-proxy
dan menetapkan Port hos 80 dipetakan ke port 80 kontena dan port 443 dipetakan ke port 443 kontena. Kami menentukan imej asas bekas sebagai Nginx dan menggunakan parameter -d
untuk menjalankan bekas di latar belakang. docker run
命令来创建一个名为nginx-proxy
的容器,并将主机的80端口映射到容器的80端口,443端口映射到容器的443端口。我们指定了容器的基础镜像为Nginx,并使用了-d
参数来后台运行容器。
步骤3:配置Nginx代理服务器
在容器中运行Nginx服务器后,我们需要配置代理服务器以将HTTP请求转发到实际的Web服务。通过修改Nginx的配置文件nginx.conf
,我们可以完成此项配置。
首先,找到Nginx容器的ID或名称。可以使用以下命令来列出正在运行的Docker容器:
$ docker ps
在输出结果中找到nginx-proxy
容器的ID或名称。
接下来,使用以下命令进入容器的shell环境:
$ docker exec -it <nginx-proxy-container-id> /bin/bash
将<nginx-proxy-container-id>
替换为实际的容器ID或名称。
进入容器的shell环境后,找到Nginx的配置文件所在位置:
$ cd /etc/nginx/conf.d
使用文本编辑器(如Vi或Nano)打开default.conf
文件:
$ vi default.conf
在文件中添加以下配置,用于将HTTP请求转发到实际的Web服务。假设实际的Web服务在本地的8000端口运行:
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8000; } }
保存并退出文件。
步骤4:配置HTTPS加密
为了实现Web服务的加密,我们需要配置Nginx支持HTTPS。首先,我们需要生成SSL证书和私钥文件。可以使用免费的证书颁发机构(如Let's Encrypt)或自签名证书来生成。
将证书和私钥文件保存到容器中的/etc/nginx/ssl
目录下。然后,修改default.conf
文件,以启用HTTPS。在文件中添加以下配置:
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/certificate.crt; ssl_certificate_key /etc/nginx/ssl/private.key; location / { proxy_pass http://localhost:8000; } }
保存并退出文件。
步骤5:重启Nginx服务器
完成上述配置后,我们需要重启Nginx服务器以使配置生效。在容器的shell环境中运行以下命令:
$ service nginx restart
现在,通过访问https://example.com
nginx.conf
. Mula-mula, cari ID atau nama bekas Nginx. Anda boleh menggunakan arahan berikut untuk menyenaraikan bekas Docker yang sedang berjalan: rrreee
Cari ID atau nama bekasnginx-proxy
dalam output. <nginx-proxy-container-id>
dengan ID atau nama bekas sebenar anda. default.conf
: 🎜 rrreee🎜Tambah dalam fail Konfigurasi berikut digunakan untuk memajukan permintaan HTTP ke perkhidmatan web sebenar. Dengan mengandaikan perkhidmatan web sebenar berjalan secara setempat pada port 8000: 🎜rrreee🎜 Simpan dan keluar dari fail. 🎜🎜Langkah 4: Konfigurasikan penyulitan HTTPS 🎜🎜Untuk melaksanakan penyulitan perkhidmatan web, kami perlu mengkonfigurasi Nginx untuk menyokong HTTPS. Pertama, kita perlu menjana sijil SSL dan fail kunci peribadi. Ini boleh dijana menggunakan pihak berkuasa sijil percuma (seperti Let's Encrypt) atau sijil yang ditandatangani sendiri. 🎜🎜Simpan sijil dan fail kunci peribadi ke direktori /etc/nginx/ssl
dalam bekas. Kemudian, ubah suai fail default.conf
untuk mendayakan HTTPS. Tambahkan konfigurasi berikut pada fail: 🎜rrreee🎜Simpan dan keluar dari fail. 🎜🎜Langkah 5: Mulakan semula pelayan Nginx🎜🎜Selepas melengkapkan konfigurasi di atas, kita perlu memulakan semula pelayan Nginx untuk konfigurasi berkuat kuasa. Jalankan arahan berikut dalam persekitaran shell bekas: 🎜rrreee🎜 Sekarang, dengan melawati https://example.com
, anda sepatutnya dapat melihat perkhidmatan web anda berjalan dengan cara yang selamat. 🎜🎜Ringkasan🎜🎜Dengan bekas Docker dan pelayan proksi Nginx, kami boleh melaksanakan penyulitan perkhidmatan web dengan mudah. Dalam artikel ini, kami membincangkan cara memasang Docker, mencipta bekas Nginx, mengkonfigurasi pelayan proksi dan mendayakan penyulitan HTTPS. Saya harap artikel ini membantu anda memahami cara mengamankan perkhidmatan web. 🎜🎜Pautan rujukan: 🎜🎜🎜Tapak web rasmi Docker: https://www.docker.com/🎜🎜Tapak web rasmi Nginx: https://nginx.org/🎜🎜Let's Encrypt website rasmi: https://letsencrypt.org /🎜🎜Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pelayan proksi Nginx menggunakan bekas Docker untuk menyulitkan perkhidmatan web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!