2013-10-08 2 views
0

포트 420 (예 : example.corp.com:420)의 서비스에 대한 URL을 사람들에게 제공 한 이전 서버 설정이 있습니다. 이제는 모든 서비스를 일반 80 포트로 옮겼습니다. Ngnix와 나는 example.corp.com:420에서 오는 모든 요청을 example.corp.com으로 다시 기본 설정하려고합니다. Ngnix에게 주어진 포트 번호에 상관없이 app1에 가도록 지시하는 방법이 있습니까? 나는 몇 가지 시도를했지만 아무도 효과가 없었습니다. 다음은 현재 구성입니다. 미리 감사드립니다.Ngnix 포트 80에 대한 모든 포트 기본값

upstream unicorn-app1 { 
    server unix:/tmp/unicorn.app1.sock; 
} 

server { 
    listen 80; 
    server_name example.corp.com; 
    root /home/example/apps/wm/current/public; 

    location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://unicorn-app1; 
     break; 
    } 
    } 
} 

upstream unicorn-app2{ 
    server unix:/tmp/unicorn.app2.sock; 
} 

server { 
    listen 420; 
    server_name example.corp.com; 
    root /home/example/apps/app2/current/public; 

    location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://unicorn-app2; 
     break; 
    } 
    } 
} 

답변

0

은 실제로 더 좋은 방법은 사람들이 천천히 포트 480를 사용을 중지 할 수 있도록 포트 (420)는 단지 301 리디렉션 사용, 80 번 포트로 리디렉션 할 수 있도록하는 것입니다

server { 
    listen 480; 
    server_name example.com; 
    return 301 example.com$request_uri; 
} 
0

실제로 작동하도록했습니다. 나는 당신이 무슨 일이 벌어지고 있는지를 이해할 때 상당히 간단하다고 생각합니다. 나는 모든 것을 작동시키는 데 필요한 작은 세부 사항을 놓쳤습니다. 따라서 Ngnix 서버의 다른 포트를 특정 포트로 되돌릴 필요가있을 때마다 80 포트 응용 프로그램을 가리 키도록 다른 포트 응용 프로그램을 정의해야합니다. 여기에 해결책이 있습니다. 나는 그것을 변화시키기 위해 무엇을 바꿔야 만했는지 굵게 표시했습니다. 희망이 도움이됩니다.

upstream unicorn-app1 { 
    server unix:/tmp/unicorn.app1.sock; 
} 

server { 
    listen 80; 
    server_name example.corp.com; 
    root /home/example/apps/wm/current/public; 

    location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://unicorn-app1; 
     break; 
    } 
    } 
} 

upstream unicorn-app2{ 
    server unix:/tmp/unicorn.**app1**.sock; 
} 

server { 
    listen 420; 
    server_name example.corp.com; 
    root /home/example/apps/**app1**/current/public; 

    location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://unicorn-**app1**; 
     break; 
    } 
    } 
}