در مطالب گذشته آموزش ریدایرکت در هاست cPanel داده شد. در این آموزش به شما نشان خواهیم داد که چگونه ترافیک وب سایت خود را از http به https در وب سرور Apache , Nginx هدایت کنید.
شما همیشه باید از HTTPS به جای HTTP برای حفاظت از وب سایت خود استفاده کنید ، حتی اگر ارتباطات حساسی نداشته باشید.برای استفاده از HTTPS به گواهی SSL نیاز دارید.
دلایل اصلی استفاده از HTTPS عبارت اند از:
امنیت (Security): مهم ترین دلیل استفاده از HTTPS همین موضوع است. با HTTPS تمام ارتباطات بین مرورگر و بازدید کننده رمزگذاری می شود.
سئو (SEO): گوگل از HTTPS به عنوان یکی از سیگنال های افزایش رتبه استفاده می کند. بدین معنی که به واسطه استفاده از این پروتکل نسبت به سایت های نا امن رتبه شما بالاتر خواهد بود.
هشدار مرورگر ها: اگر شما از HTTPS استفاده نمی کنید مرورگر کروم و سایر مرورگر ها سایت شما را با یک تگ not secure که به معنی نا امن می باشد نشان می دهند.
قابلیت اطمینان: معمولا افراد به سایت هایی که گواهی SSL دارند، سریعتر و بیشتر اطمینان می کنند.
برای این که به طور خودکار تمام بازدید کنندگان سایت شما به طور خودکار به نسخه HTTPS وب سایت شما هدایت شوند، کد زیر را در فایل htaccess. خود وارد کنید.
RewriteEngine On # redirect http to https RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
اگر می خواهید که تمام بازدیدکنندگان سایت خود را به HTTPS هدایت کنید و به نسخه بدون WWW سایت هدایت شوند ، از کد زیر استفاده کنید.
RewriteEngine On # redirect all www to https non-www RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [L,R=301] # redirect http non-www to https non-www RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
و برای هدایت تمام بازدید کنندکان به HTTPS همراه با نسخه با WWW سایت . از کد زیر استفاده کنید.
RewriteEngine On # redirect all non-www to https www RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301] # redirect http www to https www RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
برای ریدایرکت در Nginx شما نیاز دارید که ۳ بلاک سرور ایجاد کنید. بلاک های سرور مانند Virtual Host در آپاچی می باشد.
یک بلاک برای HTTP ، یک بلاک برای HTTPS NON-WWW و بلاک دیگر برای HTTPS WWW ایجاد می شود.
اولین بلاک بازدیدکنندگان را از نسخه HTTP به HTTPS ریدایرکت می کند.
۲ بلاک دیگر بازدیدکنندگان را از نسخه WWW به NON-WWW یا بالعکس ریدایرکت می کنند.
فایل اصلی کانفیگ nginx ، که در این آدرس موجود است با یک ویرایشگر باز کنید.
vi /etc/nginx/nginx.conf
برای ریدایرکت تمام ترافیک HTTP , HTTPS NON-WWW به نسخه WWW اطلاعات زیر را در فایل وارد کنید و آن را ذخیره کنید.
server { listen [::]:80; listen 80; server_name yourdomain.com www.yourdomain.com; # redirect http to https www return 301 https://www.yourdomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name yourdomain.com; # SSL code # redirect https non-www to https www return 301 https://www.yourdomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name www.yourdomain.com; # SSL code # other code }
برای ریدایرکت تمام ترافیک HTTP , HTTPS نسخه WWW به HTTPS NON-WWW این کد را به فایل مورد نظر اضافه کنید.
server { listen [::]:80; listen 80 server_name yourdomain.com www.yourdomain.com; # redirect http to https non-www return 301 https://yourdomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name www.yourdomain.com; # SSL code # redirect https non-www to https www return 301 https://yourdomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name yourdomain.com; # SSL code # Other code }
امیدوارم مطلب مفید واقع شده شده باشد.
با آموزش های بعدی همراه ما باشید.