반응형
내 간단한 Django 앱은 디버그 모드 ( manage.py runserver
)에서 잘 작동하고 내 dev box의 WSGI + Apache에서 작동하지만 EC2로 푸시 할 때 간헐적으로 수신되기 시작했습니다 (10-80 % 시간) 내가 보려고하는 모든 URL에 대한 잘못된 요청 (400)
오류 (내 앱에서든 Django 관리자에서든).
남은 생각은 Python 2.7.1에 대해 빌드 된 Ubuntu 12.04 (libapache2-mod-wsgi 3.3-4build1)의 mod_wsgi를 사용하고 있다는 것입니다. Python 2.7.3이 있습니다. Django는 1.6으로 Ubuntu Precise 버전보다 최신 버전입니다. 정리하기가 너무 어렵고 사소한 버전 변경처럼 보이기 때문에 소스에서 패키지 빌드를 시작하는 것이 주저합니다.
도움을 주셔서 감사합니다.
(참고로 Apache 구성 및 WSGI 앱은 다음과 같습니다.)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
WSGIScriptAlias /rz /usr/local/share/rz/rz.wsgi
...
import os
import sys
import django.core.handlers.wsgi
import pprint
path = '/usr/local/share/rz'
if path not in sys.path:
sys.path.insert(0, path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'rz.settings'
class LoggingMiddleware:
def __init__(self, application):
self.__application = application
def __call__(self, environ, start_response):
errors = environ['wsgi.errors']
pprint.pprint(('REQUEST', environ), stream=errors)
def _start_response(status, headers, *args):
pprint.pprint(('RESPONSE', status, headers), stream=errors)
return start_response(status, headers, *args)
return self.__application(environ, _start_response)
application = LoggingMiddleware(django.core.handlers.wsgi.WSGIHandler())
해결 방법
ALLOWED_HOSTS 설정을 settings.py에 추가하십시오.
ALLOWED_HOSTS = [
'.example.com', # Allow domain and subdomains
'.example.com.', # Also allow FQDN and subdomains
]
업데이트 : django 1.6 문서가 더 이상 온라인 상태가 아닙니다. ALLOWED_HOSTS
설정에 대한 django 1.7 문서로 이동하도록 링크를 업데이트했습니다.
참조 페이지 https://stackoverflow.com/questions/20321673
반응형
'파이썬' 카테고리의 다른 글
파이썬 카운터 출력 포맷 (0) | 2020.12.30 |
---|---|
파이썬 NaN이 포함 된 목록을 확인하는 방법 (0) | 2020.12.30 |
파이썬 Python을 사용하여 전체 압축 tar 파일을 만드는 방법은 무엇입니까? (0) | 2020.12.30 |
파이썬 ValueError : 변환되지 않은 데이터가 남아 있습니다 : 02:05 (0) | 2020.12.30 |
파이썬 Python에서 subprocess.call ( 'dir', shell = True)를 사용할 때 지정된 파일을 찾을 수 없습니다. (0) | 2020.12.30 |
댓글