چگونه با استفاده از SSL و رمزهای ایمن ، وب سایت دارای Nginx خود را ایمن کنید

معرفی

SSL (مخفف عبارت Secure Sockets Layer ) و جانشین آن ، TLS (مخفف Transport Layer Security ) پروتکل های رمزنگاری برای تأمین ارتباطات از طریق اینترنت هستند. می توان از آن برای ایجاد اتصال ایمن به یک وب سایت استفاده کرد.

معرفی

اطمینان حاصل کنید که Nginx و OpenSSL روی سرور شما نصب شده اند. در این مقاله ، ما با تولید یک گواهی SSL خود امضا شده روند را نشان می دهیم.

مرحله 1: یک دایرکتوری برای گواهی و کلید خصوصی ایجاد کنید

ما دایرکتوری ایجاد خواهیم کرد (و آن را وارد می کنیم) / etc / nginx (با فرض اینکه این فهرست فهرست پیکربندی Nginx است) ، توسط:

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir

مرحله 2: کلید خصوصی و CSR ایجاد کنید

بیایید با ایجاد کلید خصوصی سایت شروع کنیم. در این مثال ، ما از کلید 4096 بیتی برای امنیت بیشتر استفاده خواهیم کرد. توجه داشته باشید که 2048 بیتی نیز امن است ، اما از یک کلید خصوصی 1024 بیتی استفاده نکنید!

sudo openssl genrsa -out example.com.key 4096

اکنون ، برای امضای گواهی ، درخواست امضای گواهی (CSR) ایجاد کنید. ما از 512 بیتی SHA-2 استفاده خواهیم کرد. -sha512گزینه را یادداشت کنید.

sudo openssl req -new -key example.com.key -out example.com.csr -sha512

لیستی از زمینه هایی که باید پر شوند فوراً به وجود می آورد. مطمئن شوید Common Nameکه به نام دامنه شما تنظیم شده است! همچنین ، ترک A challenge passwordو An optional company nameخالی.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:LosAngeles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc
Organizational Unit Name (eg, section) []:Security
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

مرحله 3: گواهی خود را امضا کنید

تقریباً تمام شد! اکنون ما فقط باید آن را امضا کنیم. فراموش نکنید که 365 (تاریخ انقضا پس از 365 روز) را به تعداد روزهایی که ترجیح می دهید جایگزین کنید.

sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512

اکنون ، ما در حال تهیه یک گواهی خود امضا شده هستیم.

مرحله 4: تنظیم کنید

پرونده پیکربندی SSL نمونه Nginx را باز کنید:

sudo nano /etc/nginx/conf.d/example_ssl.conf

عدم رضایت در بخش تحت خط HTTPS سرور . پیکربندی خود را با اطلاعات زیر مطابقت دهید ، و example.comدر server_nameخط با نام دامنه یا آدرس IP خود جایگزین کنید. همچنین فهرست اصلی خود را تنظیم کنید.

# HTTPS server

server {
    listen       443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ecdh_curve secp384r1;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4; # no RC4 and known insecure cipher
location / {
  root   /usr/share/nginx/html;
  index  index.html index.htm;
 }
}

سپس Nginx را مجدداً راه اندازی کنید.

service nginx restart

اکنون با httpsآدرس ( https://your.address.tld) به وب سایت خود مراجعه کنید . مرورگر وب شما با استفاده از گواهی نامه خود امضا شده ، اتصال ایمن را نشان می دهد.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد