How to Install and Configure Nginx Virtual-Host in Debian
תוכן עניינים:
- תנאים מוקדמים
- התקנת Certbot
- מפיק את קבוצת דה (דיפי-הלמן)
- קבלת אישור בואו להצפין SSL
- חידוש אוטומטי של בואו להצפין אישור SSL
- סיכום
Let's Encrypt היא רשות אישורים חינמית, אוטומטית ופתוחה שפותחה על ידי קבוצת אבטחת האינטרנט לאינטרנט (ISRG) המספקת תעודות SSL בחינם.
אישורים שהונפקו על ידי Let's Encrypt הם מהימנים על ידי כל הדפדפנים הגדולים ותקפים למשך 90 יום מתאריך ההנפקה.
מדריך זה מראה כיצד להתקין תעודת SSL SSL בחינם ב- Debian 10, באסטר שמריץ את Nginx כשרת אינטרנט. אנו גם נראה כיצד להגדיר את התצורה של Nginx לשימוש בתעודת SSL ולהפעיל HTTP / 2.
תנאים מוקדמים
וודא כי מתקיימים התנאים המוקדמים הבאים לפני שתמשיך במדריך:
- התחבר כשורש או כמשתמש עם הרשאות sudo. התחום שעבורו ברצונך להשיג את אישור ה- SSL חייב להצביע על IP השרת הציבורי שלך. אנו נשתמש ב-
example.com
.Nginx המותקן.
התקנת Certbot
אנו נשתמש בכלי certbot כדי להשיג ולחדש את האישורים.
Certbot הוא כלי מלא ובקלות לשימוש שמאפשר אוטומציה של המשימות להשגת וחידוש Let's Encrypt אישורי SSL ולהגדרת שרתי אינטרנט לשימוש בתעודות.
חבילת certbot כלולה במאגרי ברירת המחדל של Debian. הפעל את הפקודות הבאות כדי להתקין certbot:
sudo apt update
sudo apt install certbot
מפיק את קבוצת דה (דיפי-הלמן)
החלפת מפתחות Diffie – Hellman (DH) היא שיטה להחלפה מאובטחת של מפתחות קריפטוגרפיים דרך ערוץ תקשורת לא מאובטח.
אנו הולכים ליצור קבוצה חדשה של פרמטרים DH של 2048 ביט לחיזוק האבטחה:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
ניתן גם לשנות את הגודל של עד 4096 ביטים, אך הדור עשוי לארוך יותר מ- 30 דקות, תלוי באנטרופיה של המערכת.
קבלת אישור בואו להצפין SSL
כדי להשיג אישור SSL לדומיין, אנו נשתמש בתוסף Webroot. זה עובד על ידי יצירת קובץ זמני לאימות הדומיין המבוקש בספרייה
${webroot-path}/.well-known/acme-challenge
. שרת בואו להצפין מבצע בקשות HTTP לקובץ הזמני כדי לאמת כי הדומיין המבוקש פותר לשרת בו פועל certbot.
אנו
/var/lib/letsencrypt
כל בקשות HTTP עבור.
.well-known/acme-challenge
לספריה יחידה,
/var/lib/letsencrypt
.
הפעל את הפקודות הבאות כדי ליצור את הספרייה ולהפיכתה לשרת Nginx:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
כדי להימנע משכפול של קוד, ניצור שני קטעים שייכללו בכל קבצי החסימה של שרתי Nginx.
פתח את עורך הטקסט שלך וצור את הקטע הראשון,
letsencrypt.conf
:
sudo nano /etc/nginx/snippets/letsencrypt.conf
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
הקטע השני
ssl.conf
כולל את
ssl.conf
המומלצים על ידי מוזילה, מאפשרים סיכות OCSP, HTTP Strict Transport Security (HSTS) ואכיפה מעט כותרות HTTP ממוקדות אבטחה.
sudo nano /etc/nginx/snippets/ssl.conf
/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.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; 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=63072000" always; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
בסיום, פתח את קובץ החסימה של שרת הדומיין וכולל את קטע ה-
letsencrypt.conf
כמוצג להלן:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
צור קישור סמלי לספרייה
sites-enabled
כדי לאפשר את חסימת שרת הדומיין:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
הפעל מחדש את שירות Nginx כדי שהשינויים ייכנסו לתוקף:
sudo systemctl restart nginx
אתה מוכן כעת להשיג את קבצי אישור ה- SSL על ידי הפעלת הפקודה הבאה:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
אם אישור SSL מתקבל בהצלחה, ההודעה הבאה יודפסת במסוף שלך:
IMPORTANT NOTES: 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 2020-02-22. 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:
ערוך את חסימת שרת הדומיין וכולל את קבצי אישור ה- SSL באופן הבא:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
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 }
התצורה שלמעלה מורה ל- Nginx להפנות מחדש מ- HTTP ל- HTTPS ומ- www לגירסה שאינה www.
הפעל מחדש או טען מחדש את שירות Nginx כדי שהשינויים ייכנסו לתוקף:
sudo systemctl restart nginx
פתח את האתר שלך באמצעות
https://
ותבחין בסמל נעילה ירוקה.
חידוש אוטומטי של בואו להצפין אישור SSL
תעודות בואו להצפין תקפות למשך 90 יום. כדי לחדש אוטומטית את האישורים לפני שפג תוקפם, חבילת certbot יוצרת מציצה הפועלת פעמיים ביום ומחדשת אוטומטית כל תעודה 30 יום לפני תפוגה.
בעת חידוש יש לטעון מחדש את שירות nginx כדי שהשרת יטען את האישור. הוסף
--renew-hook "systemctl reload nginx"
לקובץ
/etc/cron.d/certbot
כך שהוא נראה כך:
sudo nano /etc/cron.d/certbot
/etc/cron.d/certbot
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"
בדוק את תהליך החידוש האוטומטי על ידי הפעלת פקודה זו:
sudo certbot renew --dry-run
אם אין שגיאות, פירוש הדבר שתהליך החידוש היה מוצלח.
סיכום
בעל תעודת SSL הוא חובה בימינו. זה מאבטח את האתר שלך, מגדיל את מיקום דירוג ה- SERP ומאפשר לך להפעיל HTTP / 2 בשרת האינטרנט שלך.
במדריך זה הראינו לכם כיצד ליצור ולחדש אישורי SSL באמצעות סקריפט certbot. הראנו לכם כיצד להגדיר את Nginx לשימוש בתעודות.
למידע נוסף על Certbot, בקר בתיעוד Certbot.
nginx debian בואו להצפין certbot sslגרסה 'Lite' של Fuduntu היא אחת התכונות החדשות שהוזמנו השבוע. > רוב העולם של לינוקס עשוי להמתין למהדורה הסופית של אובונטו לינוקס 13.04 "רינגט רינגט" מאוחר יותר החודש, אבל זה לא אומר שהפצות לינוקס רבות אחרות עומדות בשקט. עדכונים "בסעיף על מעקב אחר האתר DistroWatch הוא פשוט עסוק כתמיד. השבוע, שתי הפצות לינוקס פופולרי יצא עם עדכונים משמעותיים במיוחד ראוי להזכיר. אחד מהם הוא Fuduntu, הפיצול הנוכחי שלי, והאחר הוא PCLinuxOS.

PCLinuxOS 2013.04
אבטח nginx עם בוא להצפין ב- centos 7

במדריך זה אנו נספק הוראות שלב אחר שלב כיצד לאבטח את ה- Nginx שלך באמצעות Let's Encrypt באמצעות כלי certbot ב- CentOS 7
אבטח nginx עם בוא להצפין באובונטו 18.04

Let's Encrypt היא רשות אישורים בחינם ופתוחה שפותחה על ידי קבוצת המחקר בנושא אבטחת אינטרנט. במדריך זה נספק הוראות שלב אחר שלב כיצד לאבטח את ה- Nginx שלך באמצעות Let's Encrypt באמצעות כלי certbot באובונטו 18.04