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.
Pertama, kita perlu menyediakan beberapa alatan yang diperlukan, termasuk:
Sila pastikan anda telah memasang Docker dan Docker Compose Jika belum, sila Pasang ini dahulu dua alatan.
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.
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.
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!