ذكري المظهر

إعادة توجيه http إلى https في nginx

أسهل طريقة لتحويل نطاق الدومين المدفوع لمدونة بلوجر من http الى https

أسهل طريقة لتحويل نطاق الدومين المدفوع لمدونة بلوجر من http الى https

جدول المحتويات:

Anonim

في هذا الدليل ، سنشرح كيفية إعادة توجيه حركة مرور HTTP إلى HTTPS في Nginx.

يعد Nginx وضوحًا "engine x" عبارة عن خادم وكيل HTTP ومصدر مجاني وعالي الأداء ومفتوح الأداء ومسؤول عن معالجة حمل بعض أكبر المواقع على الإنترنت.

بخلاف HTTP ، حيث يتم إرسال الطلبات والاستجابات وإرجاعها في نص عادي ، يستخدم HTTPS TLS / SSL لتشفير الاتصال بين العميل والخادم.

هناك فوائد عديدة لاستخدام HTTPS عبر HTTP ، مثل:

  • يتم تشفير جميع البيانات في كلا الاتجاهين. نتيجةً لذلك ، لا يمكن قراءة المعلومات الحساسة إذا تم اعتراضها. ستصمم خدمة Google Chrome وجميع المتصفحات الشائعة الأخرى موقع الويب الخاص بك على أنه آمن. HTTPS تسمح لك باستخدام بروتوكول HTTP / 2 ، مما يحسن بشكل كبير من أداء الموقع. Google لصالح مواقع HTTPS. سيكون ترتيب موقعك أفضل إذا تم تقديمه عبر

تتمثل الطريقة المفضلة لإعادة توجيه HTTP إلى HTTPS في Nginx في تكوين كتلة خادم منفصلة لكل إصدار من الموقع. يجب تجنب إعادة توجيه حركة المرور باستخدام الأمر if ، لأنه قد يتسبب في سلوك غير متوقع للخادم.

إعادة توجيه HTTP إلى HTTPS لكل موقع

لإعادة توجيه موقع ويب واحد إلى HTTPS ، افتح ملف تكوين المجال وقم بإجراء التغييرات التالية:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }

دعنا نقسم سطر الكود بسطور:

  • listen 80 - ستستمع كتلة الخادم للاتصالات الواردة على المنفذ 80 للنطاق المحدد. server_name linuxize.com www.linuxize.com - يحدد أسماء نطاق كتلة الخادم. تأكد من استبداله باسم المجال الخاص بك. return 301 - إعادة توجيه حركة المرور إلى إصدار HTTPS من الموقع. المتغير $request_uri هو URI للطلب الأصلي الكامل بما في ذلك الوسائط.

عادة ، ستحتاج أيضًا إلى إعادة توجيه نسخة HTTPS www من الموقع إلى غير www أو العكس. تتمثل الطريقة الموصى بها لإجراء إعادة التوجيه في إنشاء كتلة خادم منفصلة لكلا الإصدارين www و non-www.

على سبيل المثال ، لإعادة توجيه طلبات HTTPS www إلى غير www ، يمكنك استخدام التكوين التالي:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }

إعادة توجيه جميع المواقع إلى HTTPS

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

لإنشاء كتلة HTTP شاملة واحدة ستعيد توجيه الزائرين إلى نسخة HTTPS من الموقع ، افتح ملف التكوين Nginx وإجراء التغييرات التالية:

server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }

دعنا نحلل الشفرة سطرا:

  • listen 80 default_server - تعيين كتلة الخادم هذه على أنها الكتلة الافتراضية (catch-all) لجميع المجالات التي لا مثيل لها. server_name _ - _ هو اسم مجال غير صالح لا يتطابق مطلقًا مع أي اسم مجال حقيقي. return 301 - إعادة توجيه حركة المرور إلى كتلة خادم HTTPS المقابلة مع رمز الحالة 301 (تم النقل نهائيًا). متغير $host يحمل اسم مجال الطلب.

على سبيل المثال ، إذا قام الزائر بفتح http://example.com/page2 في المستعرض ، فسيقوم Nginx بإعادة توجيه الطلب إلى https://example.com/page2 .

إذا كان ذلك ممكنًا ، تفضل إنشاء إعادة توجيه على أساس كل مجال بدلاً من إعادة توجيه HTTP إلى

استنتاج

بمجرد تثبيت شهادة SSL على موقع الويب الخاص بك ، يجب عليك إعادة توجيه حركة مرور HTTP إلى

في Nginx ، تتمثل الطريقة المفضلة لإعادة توجيه HTTP إلى HTTPS في إنشاء كتل خادم منفصلة وتنفيذ 301 إعادة توجيه.

إنجن إكس