- موضوع نویسنده
- #1
مقدمه
راهاندازی وبسرور با اتصال امن HTTPS و استفاده از گواهینامه SSL یکی از اجزای کلیدی افزایش امنیت و اعتماد در وبسایتهای امروزی محسوب میشود. با فعال کردن SSL روی سرور اختصاصی، اطلاعات کاربران رمزنگاری شده و امکان سرقت داده به شدت کاهش مییابد. همچنین موتورهای جستجو به سایتهای دارای HTTPS، امتیاز بالاتری میدهند. در این مقاله مرحله به مرحله راهاندازی وبسرور HTTPS با SSL را برای سیستم عاملهای لینوکس و ویندوز آموزش میدهیم و نکات کاربردی و تخصصی را بررسی خواهیم کرد.
پیشنیازها و انتخاب نوع گواهینامه SSL
قبل از شروع نصب و فعالسازی SSL موارد زیر را آماده کنید:
- سرور اختصاصی فعال (لینوکس یا ویندوز)
- دسترسی root یا admin به سرور
- دامنه معتبر و فعال
- دسترسی به DNS جهت وریفای دامنه
Let’s Encrypt
یا تجاری مثل Comodo
، DigiCert
و GeoTrust
انجام شود. اگر نیاز به اعتبار بالاتر و پشتیبانی تخصصی دارید از گواهینامههای معتبر EV یا OV استفاده کنید؛ اما برای سایتهای معمولی و استارتاپها همان Let’s Encrypt کافی است.ثبت و دریافت گواهینامه SSL
عملیات اخذ SSL معمولا شامل مراحل زیر است:
- ایجاد فایل CSR یا تهیه از طریق کنترل پنل سرور
- ثبت درخواست نزد مرجع صدور و انجام وریفای دامنه
- دریافت فایلهای SSL شامل کلید خصوصی و گواهینامه اصلی
نصب و راهاندازی SSL روی سرور لینوکسی (مثال Apache و Nginx)
نصب بر روی Apache
برای نصب گواهینامه روی سرور Apache مراحل زیر را دنبال کنید:
- کپی فایلهای
certificate.crt
وprivate.key
به مسیر مخصوص SSL (مثلا/etc/ssl/
) - ویرایش فایل کانفیگ سایت (
default-ssl.conf
یا000-default.conf
) - افزودن یا ویرایش خطوط زیر:
کد:
SSLEngine on
SSLCertificateFile /etc/ssl/certificate.crt
SSLCertificateKeyFile /etc/ssl/private.key
SSLCertificateChainFile /etc/ssl/ca_bundle.crt
- فعالسازی ماژول SSL:
Bash:
sudo a2enmod ssl
sudo systemctl reload apache2
نصب بر روی Nginx
- قرار دادن فایلهای گواهینامه در مسیر مناسب مثلا
/etc/nginx/ssl/
- ویراش بلاک
server
در فایل کانفیگ سایت:
NGINX:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
- ریلود Nginx برای اعمال تغییرات:
Bash:
sudo systemctl reload nginx
نصب و راهاندازی SSL روی ویندوز سرور (IIS)
برای سرورهای ویندوزی با وبسرور IIS، مراحل زیر را دنبال کنید:
- ورود به IIS Manager و انتخاب وبسایت مورد نظر
- روی “Bindings...” کلیک و “https” را اضافه کنید
- در بخش SSL certificate گواهینامه جدید را انتخاب و تنظیمات را ذخیره کنید
در صورت استفاده از فایل pfx، ابتدا باید گواهینامه را Import و سپس سایت را به آن متصل کنید.
ریدایرکت کردن ترافیک HTTP به HTTPS
برای رعایت سئو و ارتقای امنیت، ریدایرکت کل ترافیک روی HTTPS پیشنهاد میشود.
در Apache:
کد:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
در Nginx:
NGINX:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
در IIS (ویندوز):
از بخش URL Rewrite میتوانید قواعد ریدایرکت را مشابه نمونه زیر وارد کنید:
XML:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
تست و اعتبارسنجی SSL نصب شده
برای اطمینان از صحت نصب و اعتبار SSL از سرویسهای آنلاین مانند
SSL Labs
و یا ابزار خط فرمان openssl
استفاده کنید:
Bash:
openssl s_client -connect example.com:443
نکات امنیتی پس از پیادهسازی HTTPS و SSL
- استفاده از پروتکلهای امن مانند TLS 1.2 یا 1.3 و غیرفعالکردن SSL و TLS قدیمی
- استفاده از HSTS جهت جلوگیری از کاهش امنیت ناخواسته کاربران
- تهیه بکاپ امن از Private Key و گواهینامهها و نگهداری در مکان مطمئن
- بررسی سختی (Strength) رمزنگاری و انتخاب کلیدهای 2048 بیتی یا بالاتر
- تمدید به موقع گواهینامهها برای جلوگیری از انقضا و قطع سرویس
جمعبندی
فعالسازی SSL و راهاندازی HTTPS روی سرور اختصاصی نه تنها امنیت کاربران و دادهها را تضمین میکند بلکه جایگاه سایت را نزد موتورهای جستجو و مخاطبان بهبود میبخشد. چه از لینوکس استفاده کنید چه ویندوز، با رعایت مراحل نصب، تست و نکات امنیتی میتوانید سایتی مطمئن و حرفهای فراهم کنید. اگر در مورد هر بخشی سوال فنی دارید یا مشکل خاصی با سرور دارید، میتوانید در لینک: انجمن تخصصی وبمستران مطرح کنید تا دیگر متخصصان راهنماییتان کنند.