redirigir - redireccionar nginx
Nginx convierte el subdominio al componente de ruta sin redirigir (1)
# abc.example.com
server {
listen 80;
server_name abc.example.com;
location / {
proxy_pass http://127.0.0.1/abc$request_uri;
proxy_set_header Host example.com;
}
}
La idea es llevar las solicitudes entrantes a http://abc.example.com/...
y reescribirlas en http://example.com/abc/...
Eso es bastante fácil de hacer con un redireccionamiento 301/302:
# rewrite via 301 Moved Permanently
server {
listen 80;
server_name abc.example.com;
rewrite ^ $scheme://example.com/abc$request_uri permanent;
}
El truco consiste en hacer que este URL cambie de forma transparente para el cliente cuando abc.example.com
y example.com
apuntan a la misma instancia de Nginx.
Dicho de otra forma, ¿puede Nginx servir los contenidos de example.com/abc/...
cuando se solicita abc.example.com/...
y sin otro cliente de ida y vuelta ?
Configuración de punto de inicio
Configuración de Nginx que realiza la tarea con un 301:
# abc.example.com
server {
listen 80;
server_name abc.example.com;
rewrite ^ $scheme://example.com/abc$request_uri permanent;
}
# example.com
server {
listen 80;
server_name example.com;
location / {
# ...
}
}