Rumah >Operasi dan penyelenggaraan >Docker >Bagaimana untuk menambah ssl ke perkhidmatan di bawah docker

Bagaimana untuk menambah ssl ke perkhidmatan di bawah docker

PHPz
PHPzasal
2023-04-04 09:27:352601semak imbas

Menggunakan perkhidmatan di Docker telah menjadi semakin popular. Selain itu, banyak perkhidmatan memerlukan penggunaan SSL untuk melindungi keselamatan data. Artikel ini akan memperkenalkan cara menambah SSL pada perkhidmatan di bawah Docker.

  1. Persediaan

Pertama, kita perlu menyediakan beberapa alatan yang diperlukan, termasuk:

  • Docker: untuk menggunakan perkhidmatan
  • Docker Compose: Memudahkan penggunaan bekas Docker
  • Certbot: Digunakan untuk mengeluarkan sijil SSL

Sila pastikan anda telah memasang Docker dan Docker Compose Jika belum, sila Pasang ini dahulu dua alatan.

  1. Dapatkan Sijil SSL

Kami boleh mendapatkan sijil SSL menggunakan Certbot. Certbot ialah alat pengeluaran sijil SSL sumber terbuka percuma yang menyokong kebanyakan sistem pengendalian dan pelayan web.

Pertama, kita perlu memasang Certbot melalui arahan berikut:

sudo apt-get update
sudo apt-get install certbot

Seterusnya, kita perlu mendapatkan sijil SSL menggunakan arahan berikut:

sudo certbot certonly --standalone -d example.com

Di sini, example.com ialah nama domain anda. Apabila anda menjalankan arahan ini, Certbot memulakan pelayan web dan mengesahkan nama domain anda. Jika pengesahan berjaya, Certbot akan mengeluarkan sijil SSL dan menyimpannya dalam direktori /etc/letsencrypt/live/example.com.

  1. Menggunakan Sijil SSL

Seterusnya, kami perlu menggunakan sijil SSL pada perkhidmatan Docker kami. Di sini, kami akan menggunakan perkhidmatan contoh (Nginx), anda boleh menggunakan sijil SSL pada perkhidmatan Docker anda dengan cara yang sama.

Pertama, kita perlu menambah pembolehubah persekitaran berikut dalam fail Docker Compose:

services:
  nginx:
    image: nginx
    environment:
      - VIRTUAL_HOST=example.com
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=example.com
      - LETSENCRYPT_EMAIL=your_email@example.com

Di mana VIRTUAL_HOST dan VIRTUAL_PORT mentakrifkan nama hos dan port yang kami mahu perkhidmatan tersebut digunakan. LETSENCRYPT_HOST dan LETSENCRYPT_EMAIL ialah nama domain dan alamat e-mel kami masing-masing.

Seterusnya, kita perlu menambah jilid berikut dalam fail Docker Compose:

services:
  nginx:
    image: nginx
    volumes:
      - /etc/letsencrypt:/etc/letsencrypt:ro
    ...

Ini akan membolehkan kami menggunakan sijil SSL dalam bekas Docker.

Akhir sekali, kami perlu menambah yang berikut pada fail konfigurasi Nginx:

server {
  listen 80;
  server_name example.com;
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl;

  server_name example.com;

  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

  location / {
    ...
  }
}

Di sini kami mengubah hala port 80 ke port 443 dan mengkonfigurasi laluan sijil SSL. Anda perlu menggantikan laluan sijil dengan laluan anda sendiri.

  1. Menjalankan Perkhidmatan

Kini, kami bersedia untuk memulakan perkhidmatan Docker kami. Jalankan arahan berikut dari baris arahan:

docker-compose up -d

Ini akan memulakan perkhidmatan Docker kami dan secara automatik mengikat sijil SSL kepada perkhidmatan.

Kesimpulannya, menambah SSL pada perkhidmatan Docker anda sememangnya merupakan tugas penting yang boleh menjadikan perkhidmatan anda lebih selamat. Selagi anda mengikut langkah yang diterangkan dalam artikel ini, anda boleh menjadikan perkhidmatan anda lebih selamat.

Atas ialah kandungan terperinci Bagaimana untuk menambah ssl ke perkhidmatan di bawah docker. 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