يشير NF getsockopt(SO_ORIGINAL_DST) إلى البحث عن الوجهة الأصلية. في إعداد الاعتراض، يحتاج Squid إلى استعادة المكان الذي كان الاتصال المُعاد توجيهه متجهًا إليه أصلًا.

المتصفح المُهيّأ صراحةً يرسل طلباته إلى الوسيط عن قصد. ولا يكتسب ذلك الاتصال سجل اعتراض NAT لمجرد أن intercept مكتوبة بجانب منفذ مستمع Squid.

لذلك قد يفشل هذا التعارض قبل أن تصبح شهادة الوجهة ذات صلة.

ابدأ من طريقة وصول الاتصال

  • إذا كان للتطبيق عنوان وسيط مُهيّأ، فحدّد مستمع الوسيط الأمامي العادي الذي ينبغي أن يستخدمه.
  • وإذا كانت بوابة تعيد توجيه حركة كانت ستكون مباشرة، فتحقّق من وصولها إلى مستمع الاعتراض المقصود ومن أن تصميم NAT المدعوم يحفظ معلومات الوجهة المطلوبة.
  • وإذا وُجد النمطان معًا، فتحقّق من العنوان والمنفذ اللذين اتصل بهما العميل الفاشل فعليًا.

توضّح وثائق http_port في Squid الفرق صراحةً: حذف علامة النمط يختار نمط الوسيط الأمامي؛ أما intercept فيتوقع اعتراض NAT على مستوى IP.

ثم تعامل مع أمن النقل بشكل منفصل. يمكن لوسيط HTTP أن ينقل HTTPS عبر CONNECT. أما اتصال TLS إلى الوسيط فيتطلب مستمعًا وإعداد عميل متوافقين. وفك تشفير حركة الوجهة قدرة اختيارية أخرى.

لا تنسخ “حل HTTPS” قديمًا يُفعّل توليد الشهادات لمجرد أن عنوان الوجهة يبدأ بـ HTTPS. أصلح أولًا التوافق بين العميل والمستمع. وإذا بقي بعد ذلك خطأ TLS حقيقي، فسيكون خطأ أنفع للتحقيق.

مقالات ذات صلة