كيفية تكوين Nginx لـ HTTPS

كيفية إعداد HTTPS على خادم الويب الخاص بك باستخدام Let's Encrypt

لقد قمت مؤخرًا بإعداد VPS على DigitalOcean باستخدام تطبيق Node.js الرسمي ، والذي يقوم بتثبيت Ubuntu Linux مع Node و Nginx كوكيل عكسي ، مما يعني أنه وسيط بين المستخدمين وتطبيقات Node.js الخاصة بك.

بشكل افتراضي ، يتم تكوين تطبيق droplet الصغير لاستخدام HTTP ، لكننا نريد تقديم تطبيقاتنا باستخدام HTTPS ، الإصدار الآمن من HTTP.

لذلك نحن بحاجة إلى إجراء بسيط يتضمن استخدامسيرتبوتللحصول على شهادة SSL من خلالدعونا نشفر، وتهيئة Nginx لاستخدامه.

هذه هي الخطوات التي سنتبعها:

قم بتثبيت Certbot وحزمة Certbot Nginx

تفترض هذه التعليمات أنك تستخدم Ubuntu أو Debian أو أي توزيعة Linux أخرى يتم استخدامهاapt-getلإدارة الحزم:

sudo apt-get install certbot python3-certbot-nginx

قم بإعداد Nginx

يحرر/etc/nginx/sites-available/defaultلتعيين اسم الخادم الصحيح (ضروري لـ SSL)

sudo nano /etc/nginx/sites-available/default

جد الخطserver_nameوأدخل اسم المجال الخاص بك:

server_name my.domain.com;

Now run

sudo systemctl reload nginx

to reload Nginx with the updated configuration.

The firewall should already be configured to accept HTTPS, find it out typing sudo ufw status. You should see Nginx Full in the list. If you only see Nginx HTTP, look up how to change that.

Generate the SSL certificate using Certbot

Now we can invoke Certbot to generate the certificate. You must run this as root:

sudo certbot --nginx -d my.domain.com

(of course, change my.domain.com to your domain name)

Enter your real email, as that will be used to communicate you any problem.

I also suggest to choose the option to redirect HTTP to HTTPS automatically.

That’s it!

SSL certificates are valid for 90 days, and Certbot is already set up for automated renewal. To simulate and test-drive the renewal process, run:

sudo certbot renew --dry-run

This should give you a successful message.

That’s it, now your Node apps should successfully run on HTTPS with no additional changes on your part.


More network tutorials: