파이썬은 어디 헤더에서 사용자 지정 정의가 HTTP_X_REAL_IP
이 pythonanywhere는 요청을 수신되는 IP 주소입니다
라고 설정하고, 그 실제 클라이언트 IP를 얻기 위해 최선을 작동하는 것 같다.
HTTP_X_FORWARDED_FOR를 사용할 수도 있지만 이론적으로 들어오는 요청이 어떤 종류의 프록시를 통과하여 pythonAnywhere에 도착한 경우 다른 IP 주소 집합을 포함 할 수 있습니다.
이렇게하려면 두 가지 옵션이 있습니다.
첫째, 당신은 당신의 settings.py
def custom_show_toolbar(request.META.get('HTTP_X_REAL_IP', None) in INTERNAL_IPS):
return True
# Show toolbar, if the IP returned from HTTP_X_REAL_IP IS listed as INTERNAL_IPS in settings
if request.is_ajax():
return False
# Show toolbar, if the request is not ajax
return bool(settings.DEBUG)
# show toolbar if debug is true
DEBUG_TOOLBAR_CONFIG = {
'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
}
이를 추가 할 수 있습니다 또는 당신은 장고 디버그 도구 모음 폴더 안에 파일 middleware.py을 수정하고 다음 코드 변경 수 :
을 으로
def show_toolbar(request):
"""
Default function to determine whether to show the toolbar on a given page.
"""
if request.META.get('REMOTE_ADDR', None) not in settings.INTERNAL_IPS:
return False
if request.is_ajax():
return False
return bool(settings.DEBUG)
는 :
def show_toolbar(request):
"""
Default function to determine whether to show the toolbar on a given page.
"""
if request.META.get('HTTP_X_REAL_IP', None) not in settings.INTERNAL_IPS:
return False
if request.is_ajax():
return False
return bool(settings.DEBUG)
는 HTTP_X_REAL_IP는 내가 필요로 무엇 이었습니까 감사합니다! 이 설정은 모든 서버 또는 pythonanywhere에 있습니까? – Jackobson
PythonAnywhere dev 여기에는로드 밸런서 뒤에있는 서버가 사용해야하는 헤더에 대한 공식 표준은 없지만 X-Real-IP가 가장 보편적입니다. –