Nginx를 역방향 프록시로 설정하는 방법

Nginx를 역방향 프록시로 설정하는 방법

우리가 제어하는 ​​하위 도메인에서 수신 대기하는 역방향 프록시로 작동하도록 nginx를 설정하려고 합니다. 나는 온라인에서 찾은 예제를 따랐는데 대부분 명확하지 않은 한 가지 예외가 있지만 작동합니다.

아래의 서버 블록을 검사하십시오.

server{
    listen *:80;
    server_name placehold.com;
    charset utf-8;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log error;

    location / {
        proxy_redirect          off;
        proxy_set_header        Host            $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_buffers           32 4k;

        proxy_pass http://google.com/;
    }
}

google.com은 이 테스트의 자리표시자입니다.

"와 같은 URL을 방문하면http://placehold.com/test" 이것은 완벽하게 작동하며 일부 Google 오류 페이지로 리디렉션되고 브라우저의 URL은 유형으로 유지됩니다. 하지만 "http://placehold.com/" 그런 다음 내 브라우저를 Google 홈페이지로 리디렉션하고 Google URL이 브라우저에 명확하게 표시됩니다.

역방향 프록시가 '/' URL과 '/with/some/path' URL에 대한 URL을 적절하게 마스킹하도록 하려면 어떻게 해야 합니까?

답변1

프록시가 제대로 작동하고 있습니다. 방문 http://google.com반환:

301 Moved Permanently
Location:https://www.google.com/

브라우저가 다음으로 리디렉션 중입니다.http://www.google.com

관련 정보