URL을 다른 사람에게 리디렉션

URL을 다른 사람에게 리디렉션

server1.com/service1모든 시스템 요청을 리디렉션할 수 있는지 묻고 있습니다 server2.com/service1.

이것이 내 상황입니다. 내 메인 서버에 웹 애플리케이션이 있습니다(mainserver.com), 그러면 3개의 서버와 일련의 휴식 서비스가 있습니다. 예를 들면 다음과 같습니다.

mainserver.com -> web application

serviceserver1.com/createUser
serviceserver2.com/createUser
serviceserver3.com/createUser

서비스 서버가 다운되는 경우가 매우 흔하며 서비스 URL을 다른 서버로 변경하고 애플리케이션을 다시 시작해야 합니다(애플리케이션의 동작을 변경할 수는 없습니다).

글쎄, 나는 호스트 리디렉션 같은 것을 생각하고 있지만 호스트 수준이 아닌 URL 수준에서만 가능합니다.

답변1

Nginx를 사용하여 이 작업을 수행할 수 있습니다. 먼저 다음을 구성하고 업로드해야 합니다.

upstream web {
  server serviceserver1.com
  server serviceserver2.com
  server serviceserver3.com
}

그래서 당신이 찾고 있는 것은: proxy_next_upstream그리고 입니다 proxy_connect_timeout.

이 시도:

location / {
        proxy_pass              $scheme://web;
        proxy_redirect          off;
        proxy_next_upstream     error timeout invalid_header http_500;
        proxy_connect_timeout   2;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For 
        $proxy_add_x_forwarded_for;
}

관련 정보