2012-12-02 4 views
-1
나는 아주 간단한 일을 할 노력하고있어

을에 아파치 : Nginx에하지가있는 경우 * .JPG => 정적으로 시도 발견 아파치 의 Nginx에 * .PHP => 리디렉션 발견 => 아파치Nginx와 정적 프론트 엔드 + 동적 리디렉션 백엔드

로 리디렉션하지만 duplucating 코드가없는 솔루션을 찾을 수 없습니다 :

location ~* \.(css|js|png|jpeg|gif)$ { 
      access_log off; 
      expires 30d; 
      try_files $uri @proxy; 
    } 

    location/{ 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header Host $host; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_pass http://127.0.0.1:8080; 
    } 

    location @proxy { 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header Host $host; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_pass http://127.0.0.1:8080; 
    } 

내가 위치를 @proxy 사용/위치에 말을하고 싶습니다을하지만,하는 방법을 찾을 수 없습니다 이. 어떤 생각?

감사합니다.

Korko

나는 또한 덜 중복 코드를 채택

답변

1

하나 개의 솔루션 (또는 보조 파일 내에서,이 예 http://wiki.nginx.org/FullExample에서와 같이) 만 proxy_pass 위치에두고 서버 블록 내부의 모든 프록시 설정을 넣어하는 것입니다 . http://wiki.nginx.org/HttpUpstreamModule

proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header Host $host; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

upstream _backend { 
    server 127.0.0.1:8080; 
} 

location ~* \.(css|js|png|jpeg|gif)$ { 
    access_log off; 
    expires 30d; 
    try_files $uri @proxy; 
} 

location/{ 
    proxy_pass http://backend; 
} 

location @proxy { 
    proxy_pass http://backend; 
} 
: 또한 업스트림을 사용할 수 있습니다 한 곳에서 IP를 위해 (그것은 기본 모듈의)
관련 문제