2014-01-21 3 views
0

프록시 패스 예 : 7456/nix/sign_in,하지만 로그인 및 비밀번호를 입력하고 버튼 서버를 클릭하면 예 : 7456/nix/sign_in에 머무르지 않고 예 : 7456으로 리디렉션합니다./sign_in.Nginx 로그인을 리디렉션

server { 
    listen 7456; 
    charset utf-8; 
    server_name example; 
    root /home/support/project_test/public; 
    passenger_enabled on; 
    rails_env development; 

    location /nix/ { 
     root /home/support/project_nginx/public; 
     passenger_base_uri /nix/; 
     passenger_enabled on; 
     #include proxy_params; 
     proxy_pass http://10.77.92.167:7458/; 
     #proxy_set_header X-Accel-Redirect; 
     proxy_pass_header X-Accel-Redirect; 
     proxy_set_header Content-Length 0; 
     proxy_set_header Host $host; 
     proxy_redirect off; 
    } 
} 
server { 
    listen 7458; 
    charset utf-8; 
    server_name example; 
    root /home/support/project_nginx/public; 
    passenger_enabled on; 
    rails_env development; 
} 

프록시 통과시 어떻게 리디렉션하고 유지할 수 있습니까? 예 : 7456/nix/-.

나는 Nginx, Passenger 및 Ruby on Rails를 사용합니다.

답변

1

먼저

ENV['RAILS_RELATIVE_URL_ROOT'] = "/nix/" 

둘째 config.ru에게

map '/nix/' do 
    run App::Application 
end 

그리고 다음 nginx.conf

location /nix/ { 
    proxy_pass http://example:7458/nix/; 
    proxy_set_header Host $host; 
} 

유형 http://example:7456/nix/sign_in을 environment.rb에로 이동, 당신은 리디렉션받을 did'n 제출 버튼을 클릭하면 다른 페이지로 이동합니다.

+0

고맙습니다. – Erihon1890