2013-01-02 2 views
0

저는 Nginx를 처음 사용하고 있으며 서버에 대한 웹 훅 액세스를 허용하는 데 몇 가지 문제가 있습니다. webhook이 Django 서버에 POST를 보내려고 할 때마다 내 액세스 로그에 다음과 같이 표시됩니다.Nginx Webhook IP 장고 허용

54.234.20.81 - [02/Jan/2013 : 18 : 11 : 57 +0000] "POST/contracts/이벤트 HTTP/1.1 "403 2319"- ""- " 54.234.20.81 - - [02/Jan/2013 : 18 : 11 : 58 +0000]"POST/contracts/events HTTP/1.1 "403 2319"- "" - " 54.234.20.81 - - [2013 년 1 월 18 일 : 18 : 11 : 58 +0000]"POST/계약/이벤트 HTTP/1.1 "403 2319"- ""- "

잘 모르겠습니다. 이 IP에 대한 액세스 권한을 부여하여 금지되지 않도록하는 방법 나는 Ramhost에서 호스팅하고 있으며, Nginx 디렉토리는/etc/nginx/인 것처럼 보입니다. 이 디렉토리에는 nginx.conf와 사이트 사용 가능 폴더 및 사이트 사용 가능 폴더가 있습니다.

upstream djangoserv { 
server 127.0.0.1:8080; 
} 

server { 
    listen 80; 
    server_name nameblr.com www.nameblr.com; 
    access_log /home/yorango/yorangosite/logs/yorangosite-access.log; 
    error_log /home/yorango/yorangosite/logs/yorangosite-error.log; 

    location /static/ { 
     alias /home/yorango/yorangosite/static/; 
     expires 30d; 
    } 

    location /media/ { 
     alias /home/yorango/yorangosite/static/; 
     expires 30d; 
    } 

    location/{ 
     # host and port to fastcgi server 
     allow 54.242.81.184; 
     include fastcgi_params; 
     fastcgi_pass 127.0.0.1:8080; 
     fastcgi_param PATH_INFO $fastcgi_script_name; 
     fastcgi_param REQUEST_METHOD $request_method; 
     fastcgi_param QUERY_STRING $query_string; 
     fastcgi_param SERVER_NAME $server_name; 
     fastcgi_param SERVER_PORT $server_port; 
     fastcgi_param SERVER_PROTOCOL $server_protocol; 
     fastcgi_param CONTENT_TYPE $content_type; 
     fastcgi_param CONTENT_LENGTH $content_length; 
     fastcgi_pass_header Authorization; 
     fastcgi_intercept_errors off; 
     fastcgi_split_path_info ^()(.*)$; 
    } 
} 

그리고 여기에 /의/etc에있는 nginx.conf 파일입니다 : 여기

이 사이트-사용할 수있는 구성 파일입니다 (에 심볼릭 링크이 파일을 사이트 사용이) nginx/폴더.

user www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    # multi_accept on; 
} 

http { 
    include  /etc/nginx/mime.types; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 

"허용 54.242.81.184;" 올바른 위치에 있거나 사이트의 파일이 nginx.conf와 함께 어떻게 작동하는지 알 수 있습니다.

답변

2

Nginx에 문제가 있습니까? 장고 프로젝트에서 CSRF 보호가 활성화되어 있습니까? 나는 장고가 CSRF 체크가 실패 할 때 403을 내게 될 것이라고 확신한다. 추가 정보를 원하시면이 질문에 밖으로

확인 : 좋은 지적입니다 Django CSRF check failing with an Ajax POST request

+1

. 그러나 차단 된 뷰에 @csrf_exempt 데코레이터를 추가 한 후에도 동일한 문제가있는 것 같습니다. –

+1

서버를 종료하고 다시 시작해야합니다. csrf가 문제였습니다! –

관련 문제