כאשר פרוקסי HTTP קדימה תנועה לשרת אינטרנט, השרת רואה את כתובת ה- IP פרוקסי ולא את כתובת ה- IP הלקוח המקורית. מאז שהשרת צריך את כתובת ה- IP למטרות רישום או אימות, פרוקסי HTTP רב להוסיף כותרת-שהועבר-לX מציינת את כתובת ה- IP של הלקוח המקורית.
WsgiUnproxy הוא תווך WSGI שיושב בין שרת WSGI ויישום WSGI & nbsp;. לפני היישום שלך רואה בקשה, WsgiUnproxy מסיר את הכותרת-שהועבר-לX ומחזירה את כתובת ה- IP של הלקוח, מניב בקשה שנראית כמו זה אף פעם לא היה פרוקסי מלכתחילה.
מאז כל אחד יכול להוסיף כותרת-שהועבר-לX, WsgiUnproxy משתמש רק בכותרת אם זה מגיע מכתובות IP פרוקסי מהימנים.
יישום דוגמא WSGI
מunproxy יבוא wsgiunproxy
unproxy (= trusted_proxies ['1.2.3.4', '5.6.7.8'])
יישום def (סביבה ו, start_response):
& Nbsp; start_response ("200 אישור ', [])
& Nbsp; לחזור ['כתובת ה- IP שלך היא% s. " environ.get% ('REMOTE_ADDR')]
השתמש בפריסת הדבק
WsgiUnproxy ניתן להשתמש בצינור פריסת הדבק:
[צינור: עיקרי]
צינור =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[מסנן: WsgiUnproxy]
שימוש = ביצה: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
שימוש מתקדם
אם אתה צריך לציין הרבה שליחים מהימנים (כגון כל רשת משנה), אתה לא צריך להשתמש לתת trusted_proxies כרשימה. כל WsgiUnproxy ששואל הוא שtrusted_proxies תומך במפעיל (למשל על ידי יישום __contains __)
דרישות :.
- פייתון
תגובות לא נמצא