우리가 제어하는 하위 도메인에서 수신 대기하는 역방향 프록시로 작동하도록 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