سؤال

أنا أستخدم طلب طلب IIS7 توجيه توجيه أمام Tomcat كإعادة توجيه ISAPI. تعمل وظيفة الوكيل العكسي الأساسية بشكل جيد، لكن ليس لدي معلومات كافية في رؤوس الطلب النهائي. تطبيقي موجود على العديد من المجالات الفرعية: customerone.ourservice.com، customertwo.ourservice.com، إلخ. كل نقطي يدير نفس التطبيق، ولكن مع رسومات العلامة التجارية المختلفة.

ينظر التطبيق حاليا إلى رأس المضيف لمعرفة العلامة التجارية لعرضها. عندما أستخدم الوكيل العكسي IIS7، فقد فقدت هذه المعلومات. رؤوسي الآن:

accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
accept-encoding = gzip,deflate
accept-language = en-gb,en;q=0.7,en-us;q=0.3
cookie = JSESSIONID=......
host = 127.0.0.1:8080
max-forwards = 10
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
x-original-url = /
x-forwarded-for = [iis7ip]:47567
x-arr-log-id = affbf81c-a5cf-4212-a43b-901cd9adcee6
connection = Keep-Alive

هل هناك أي طريقة يمكنني إدراج رأس المضيف الأصلي في رؤوس الطلب التي تم تمريرها بواسطة الوكيل العكسي؟

هل كانت مفيدة؟

المحلول

توجيه طلب التطبيق لديه خيار الحفاظ على رأس المضيف الأصلي: preservehostheader. هذا الخيار هو خطأ افتراضي. يمكنك تمكينه مع:

"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost

نصائح أخرى

يمكنك ضبط preserveHostHeader العلم باليد.

    <proxy enabled="true" preserveHostHeader="true" />

</system.webServer>

في تكوين IIS، يمكنك العثور على هذه القيمة تحت system.webServer/proxy.

enter image description here

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top