2013-09-03 2 views
0

저는 nginx 프론트 엔드 서버와 아파치 백엔드가 포함 된 우분투 13.04 가상 머신을 가지고 있습니다. 장고 프로젝트를 제공합니다. 아파치 자체가 nginx에서 별도로 작동 할 때 잘 작동하는 것처럼 보입니다 (반대의 경우도 마찬가지입니다) . 하지만 그들이 함께 작동하면 아파치 nginx에 의해 전달되지 요청처럼 보인다.nginx 프론트 엔드 서버가 아파치 백엔드로 리디렉션되지 않습니다.

브라우저에서 my_host_name.com에 입력 한 후 나는 "에 오신 것을 환영합니다 ...!"의 nginx를 얻을 수 페이지, 이지만 아파치 렌더링 페이지 여야합니다.

UPD : (? 캐싱)을 는 "환영 ..." 페이지, 그렇지 않으면 (단지 빈 페이지 를 반환 다시 시작 브라우저 (크롬) 후, 단지 첫 번째로드에 나타나는 '이 웹 페이지를 사용할 수 없습니다 .......... 오류 코드 : ERR_CONNECTION_RESET"). 호스트 OS에서 _my_domain_name.com_에 액세스 할 때 immediatly 동일한 오류 페이지가 표시됩니다. 각 구성을 변경 한 후에 두 서버를 재시동합니다. my_domain_name.com:8000에서

타자는 잘못 찾을 수없는 여전히 인터넷 검색의 하루를 보낸 후 올바른 아파치 응답 (정적 제외 된 파일 )

를 반환합니다.

내 서버의 설정은 다음과 같습니다

파일 :은/etc/nginx를/proxy_params

proxy_redirect    off; 
proxy_set_header Host $host; 
proxy_set_header X-Forwarded-Host $host; 
proxy_set_header X-Forwarded-Server $host; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
client_max_body_size  10m; 
client_body_buffer_size  128k; 
proxy_connect_timeout  90; 
proxy_send_timeout   90; 
proxy_read_timeout   90; 
proxy_buffer_size   4k; 
proxy_buffers    4 32k; 
proxy_busy_buffers_size  64k; 
proxy_temp_file_write_size 64k; 

파일 :은/etc/nginx를/사이트-가능/my_domain_name

server { 
    listen 80; 
    server_name my_domain_name.com; 
    location/{ 
     access_log /var/log/nginx/localhost.access.log; 
     proxy_pass http://127.0.0.1:8000; 
     include /etc/nginx/proxy_settings; 
    } 
    location /static/ { 
     root /path/to/my/project/root; 
    } 
    location /media/{ 
     root /path/to/my/project/root; 
    } 
} 

파일 : /etc/apache2/sites-available/my_domain_name.conf

<VirtualHost *:8000> 
    WSGIScriptAlias//path/to/my/project/root/django.wsgi 

    ServerName my_domain_name.com 


    <Directory /path/to/my/project/root> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    LogLevel warn 

    CustomLog /var/log/apache2/access.log combined 

    RPAFenable On 
    RPAFsethostname On 
    RPAFproxy_ips 192.168.137.10 127.0.0.1 
</VirtualHost> 

파일 : /etc/apache2/ports.conf

NameVirtualHost *:8000 
Listen 8000 

파일 :/etc/hosts 파일

192.168.137.10 my_domain_name.com 
127.0.0.1  my_domain_name.com 

감사합니다!

+0

사용하고 있습니다. 이미 시작한 것이 아니라 프로젝트를 이미 완료했다면 힘든 행운을 겪을 것입니다. –

+0

@GamesBrainiac, 문제는 아파치가 아니라고 느낀다. (포트 8000을 통해 직접 접속할 때 여전히 문제가 없다.) 어쨌든 조언 주셔서 감사합니다! 나는 빠른 해결책이 없다면 확실히 gunicorn을 시험해 볼 것입니다. – vntz123

+0

'my_domain_name.com' 또는'www.my_domain_name.com'을 호출합니까? 원인이 차이가 있습니다 –

답변

0

아파치가 리디렉션을 발행 할 때 나는 특히 내 아파치 백 엔드 내 Nginx의 설정과 유사한 문제가 발생 하였다

/some-location => /some-location/ 

Nginx에 포트 80에서 실행 및 포트에 내 백 엔드 아파치되었다 8000. 그리고 포트 8000은 301 리디렉션에서 클라이언트로 전달되었습니다.

약간의 연주가 있었지만 작동시킬 수있었습니다. 여기에 내가해야 할 일을했을 것입니다 :

location/{ 
    proxy_pass  http://127.0.0.1:8000; 
    proxy_redirect default; 
    proxy_redirect http://$host:8000/ http:/$host/; 
    ... etc .. 
} 

의 Nginx와 Apache 두 가상 서버가이 모든 새로운 경우, 단지 gunicorn를 사용하는 것과 동일한 호스트 이름 (예 : mydomain.com)

관련 문제