Install WordPress dengan Nginx dan PHP 7.4 di CentOS 7
Isi kandungan:
- Prasyarat
- Pasang Certbot
- Menjana Kumpulan Dh (Diffie-Hellman) yang kuat
- Mendapatkan Sijil Encik Sijil SSL
- Pembaharuan automatik sijil SSL
- Kesimpulannya
Let's Encrypt adalah pihak berkuasa sijil yang bebas dan terbuka yang dibangunkan oleh Kumpulan Penyelidikan Keamanan Internet (ISRG). Sijil yang dikeluarkan oleh Let's Encrypt dipercayai oleh hampir semua pelayar hari ini.
Dalam tutorial ini, kami akan memberikan arahan langkah demi langkah tentang cara untuk mengamankan Nginx anda dengan Let's Encrypt menggunakan alat certbot di Ubuntu 16.04.
Prasyarat
Pastikan anda telah memenuhi prasyarat berikut sebelum meneruskan dengan tutorial ini:
- Anda mempunyai nama domain yang menunjuk ke IP pelayan awam anda. Dalam tutorial ini, kami akan menggunakan
example.com. Anda mempunyai Nginx dipasang dengan mengikuti Cara Pasang Nginx pada Ubuntu 16.04.
Pasang Certbot
Certbot adalah utiliti yang ditulis dalam python yang boleh mengautomasikan tugas-tugas untuk mendapatkan dan memperbaharui Mari Sijikan sijil SSL dan mengkonfigurasi pelayan web.
Mula-mula pasangkan
software-properties-common
pakej
software-properties-common
yang menyediakan alat
add-apt-repository
yang diperlukan untuk menambah PPA tambahan.
Kemas kini indeks pakej dan pasang
software-properties-common
dengan:
sudo apt update
sudo apt install software-properties-common
Sebaik sahaja pemasangan selesai, tambahkan repositori certbot PPbot ke sistem anda dengan menggunakan arahan berikut:
sudo add-apt-repository ppa:certbot/certbot
Kemas kini senarai pakej dan pasang pakej certbot:
sudo apt update
sudo apt install certbot
Menjana Kumpulan Dh (Diffie-Hellman) yang kuat
Pertukaran utama Diffie-Hellman (DH) adalah satu kaedah yang selamat bertukar kunci kriptografi ke atas saluran komunikasi yang tidak bercagar. Menjana set baru 2048 bit DH parameter untuk menguatkan keselamatan:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Jika anda menyukai anda, anda boleh menukar saiz sehingga 4096 bit, tetapi dalam kes itu, generasi mungkin mengambil masa lebih daripada 30 minit bergantung kepada sistem entropi.
Mendapatkan Sijil Encik Sijil SSL
Untuk mendapatkan sijil SSL untuk domain kami, kami akan menggunakan plugin Webroot yang berfungsi dengan membuat fail sementara untuk mengesahkan domain yang diminta dalam direktori
${webroot-path}/.well-known/acme-challenge
. Server Let's Encrypt membuat permintaan HTTP ke fail sementara untuk mengesahkan bahawa domain yang diminta menyelesaikan ke pelayan di mana sertbot berjalan.
Untuk menjadikannya lebih mudah, kami akan memetakan semua permintaan HTTP untuk
.well-known/acme-challenge
kepada direktori tunggal,
/var/lib/letsencrypt
.
Perintah berikut akan mencipta direktori dan menjadikannya dapat ditulis untuk pelayan Nginx.
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Untuk mengelakkan kod duplikasi buat dua coretan berikut yang akan kami sertakan dalam semua fail blok pelayan Nginx kami.
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Coretan di atas termasuk chippers direkomendasikan oleh Mozilla, membolehkan Pengapungan OCSP, HTTP Strict Transport Security (HSTS) dan menguatkan sedikit kepala HTTP yang fokus pada keselamatan.
Setelah coretan dibuat, buka blok pelayan domain dan sertakan snippet
letsencrypt.conf
seperti ditunjukkan di bawah:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Aktifkan blok pelayan dengan membuat pautan simbolik dari
sites-available
untuk
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Muat semula konfigurasi Nginx untuk perubahan yang akan dilaksanakan:
sudo systemctl reload nginx
Jalankan skrip certbot dengan plugin webroot dan dapatkan fail sijil SSL:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Jika sijil SSL berjaya diperolehi, certbot akan mencetak mesej berikut:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-04-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Sekarang kita mempunyai fail sijil, edit blok pelayan domain seperti berikut:
/etc/nginx/sites-available/example.com.conf
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
Dengan konfigurasi di atas, kami memaksa HTTPS dan mengarahkan versi domain
non www
versi
non www
.
Muat semula perkhidmatan Nginx untuk perubahan yang akan dilaksanakan:
Pembaharuan automatik sijil SSL
Mari sifatkan sijil sah selama 90 hari. Untuk memperbaharui sijil secara automatik sebelum mereka tamat tempoh, pakej certbot mewujudkan cronjob yang akan berjalan dua kali sehari dan akan secara automatik memperbaharui sijil 30 hari sebelum tamat tempohnya.
Oleh kerana kami menggunakan pensijilan webroot certbot sebaik sahaja sijil diperbaharui, kami juga perlu memuat semula perkhidmatan nginx. Untuk melakukannya - tambah
--renew-hook "systemctl reload nginx"
ke fail
/etc/cron.d/certbot
supaya kelihatan seperti ini:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Untuk menguji proses pembaharuan, gunakan suis
--dry-run
suis kering:
sudo certbot renew --dry-run
Sekiranya tiada kesilapan, ia bermakna proses pembaharuan berjaya.
Kesimpulannya
Dalam tutorial ini, anda menggunakan pelanggan Encrypt Let, certbot untuk mendapatkan sijil SSL untuk domain anda. Anda juga telah membuat potongan Nginx untuk mengelakkan duplikasi kod dan dikonfigurasi Nginx untuk menggunakan sijil. Pada akhir tutorial, anda telah menyediakan cronjob untuk pembaharuan sijil automatik.
nginx ubuntu mari kita encrypt certbot sslSelamat menginx dengan mari menyulitkan pada debian 9
Dalam tutorial ini, kami akan menerangkan cara menggunakan alat Certbot untuk mendapatkan sijil SSL percuma untuk Nginx di Debian 9. Kami juga akan menunjukkan cara mengkonfigurasi Nginx untuk menggunakan sijil SSL dan mengaktifkan HTTP / 2.
Selamat nginx dengan mari menyulitkan pada ubuntu 18.04
Let's Encrypt adalah kuasa sijil yang bebas dan terbuka yang dibangunkan oleh Kumpulan Penyelidikan Keamanan Internet. Dalam tutorial ini, kami akan memberikan arahan langkah demi langkah tentang bagaimana untuk memastikan Nginx anda dengan Let's Encrypt menggunakan alat certbot di Ubuntu 18.04
Selamat menginx dengan mari menyulitkan pada centos 8
Dalam tutorial ini, kami akan memberikan arahan langkah demi langkah tentang cara memasang secara percuma Mari Sijikan sijil SSL pada CentOS 8 yang menjalankan Nginx sebagai pelayan web. Kami juga akan menunjukkan bagaimana untuk mengkonfigurasi Nginx untuk menggunakan sijil SSL dan membolehkan HTTP / 2.







