Estoy intentando configurar nginx para que se comporte como un proxy inverso que escucha en un subdominio que controlamos. He seguido ejemplos encontrados en línea y en su mayoría funcionan con una excepción que no me queda clara.
Inspeccione el bloque del servidor a continuación:
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 es un marcador de posición para esta prueba.
Si visito una URL como "http://placehold.com/test"Esto funciona perfectamente, me redirige a alguna página de error de Google y la URL en el navegador permanece como tipos. Pero si pongo una URL simple como "http://placehold.com/" luego redirige mi navegador a la página de inicio de Google y la URL de Google se muestra claramente en el navegador.
¿Cómo puedo hacer que el proxy inverso enmascare correctamente la URL para las URL '/' así como para las URL '/con/alguna/ruta'?
Respuesta1
Tu proxy está funcionando bien. Vueltas visitantes http://google.com
:
301 Moved Permanently
Location:https://www.google.com/
Su navegador está siendo redirigido ahttp://www.google.com