Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengkonfigurasi proksi Nginx dalam Docker untuk perlindungan penyulitan SSL?

Bagaimana untuk mengkonfigurasi proksi Nginx dalam Docker untuk perlindungan penyulitan SSL?

PHPz
PHPzasal
2023-09-05 08:42:37980semak imbas

Bagaimana untuk mengkonfigurasi proksi Nginx dalam Docker untuk perlindungan penyulitan SSL?

Bagaimana untuk mengkonfigurasi proksi Nginx dalam Docker untuk mencapai perlindungan penyulitan SSL?

Dengan perkembangan Internet, isu keselamatan data telah menjadi semakin ketara. Untuk memastikan keselamatan data, SSL (Secure Sockets Layer) telah menjadi protokol penyulitan penting. Apabila menggunakan Nginx untuk proksi, mengkonfigurasi sijil SSL ialah operasi keselamatan asas. Artikel ini akan memperkenalkan cara mengkonfigurasi proksi Nginx dalam Docker untuk mencapai perlindungan penyulitan SSL.

1. Pasang Docker dan Nginx

Pertama, kita perlu memasang Docker dan Nginx pada pelayan. Anda boleh memasangnya dengan sewajarnya mengikut sistem pengendalian dan versi pengedaran anda sendiri.

2. Jana sijil SSL

Untuk mengkonfigurasi penyulitan SSL Nginx, kami perlu menjana sijil SSL. Sijil yang ditandatangani sendiri boleh dijana dengan arahan berikut:

$ openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

Ini akan menjana sijil SSL yang ditandatangani sendiri.

3 Cipta imej Docker

Seterusnya, kita perlu mencipta imej Docker untuk Nginx. Anda boleh mencipta fail Dockerfile baharu dengan kandungan berikut:

FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY server.crt /etc/nginx/server.crt
COPY server.key /etc/nginx/server.key
EXPOSE 80
EXPOSE 443

Dalam Fail Docker ini, kami menyalin fail konfigurasi Nginx nginx.conf dan sijil SSL server.crt dan server.key ke direktori yang sepadan dalam imej dan nyatakan port yang perlu didengari oleh bekas: 80 dan 443.

4. Konfigurasikan proksi Nginx

Seterusnya, kita perlu mengkonfigurasi tetapan proksi Nginx. Dalam fail nginx.conf, anda boleh mengkonfigurasinya mengikut contoh berikut:

worker_processes auto;
events {}

http {
  server {
    listen 80;
    server_name example.com;
    location / {
      proxy_pass http://backend;
    }
  }

  server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key;

    location / {
      proxy_pass http://backend;
    }
  }
}

upstream backend {
  server backend_host:backend_port;
}

Dalam konfigurasi di atas, mula-mula kami mentakrifkan huluan bernama backend untuk menentukan alamat pelayan dan port belakang. Kemudian, kami mengkonfigurasi dua blok pelayan, satu mendengar pada port 80 dan satu lagi mendengar pada port 443. Dalam blok pelayan port 443, kami menggunakan sijil SSL dan kunci peribadi yang ditentukan, dan menetapkan alamat pemajuan proksi.

5 Bina dan jalankan bekas Docker

Akhirnya, kita perlu membina dan menjalankan bekas Docker.

Pertama, gunakan arahan berikut untuk membina imej Docker:

$ docker build -t nginx-ssl .

Kemudian, gunakan arahan berikut untuk menjalankan bekas Docker:

$ docker run -d -p 80:80 -p 443:443 --name nginx-ssl nginx-ssl

Ini akan Port 80 dan port 443 dipetakan ke port hos yang sepadan, dan nama bekas ialah nginx-ssl.

6. Pengesahan Ujian

Kini, kita boleh mengakses proksi Nginx dengan memasukkan alamat IP atau nama domain pelayan.

Masukkan http://example.com dalam penyemak imbas, anda boleh melihat bahawa proksi Nginx telah berjaya dikonfigurasikan. http://example.com,可以看到Nginx代理已经成功配置。

同时,我们还可以尝试通过https://example.com

Pada masa yang sama, kami juga boleh cuba mengakses melalui https://example.com Jika penyemak imbas memaparkan sambungan selamat, ini bermakna penyulitan SSL telah diambil kesan.

Ringkasan

Mengkonfigurasi proksi Nginx dalam Docker untuk perlindungan penyulitan SSL tidak sukar. Dengan menjana sijil SSL, mencipta imej Docker, mengkonfigurasi ejen Nginx dan menjalankan bekas Docker, anda boleh menambah penyulitan SSL dengan mudah pada Nginx untuk meningkatkan keselamatan data. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi proksi Nginx dalam Docker untuk perlindungan penyulitan SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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