Tengo un nuevo trabajo y tienen todo configurado en AWS. Tenemos un servidor de prueba que aloja varias aplicaciones.
si voy a
jenkins.example.com
va a la instancia de Jenkins que estamos ejecutando.
si voy a
server.test.example.com
Luego pasa a la versión de prueba de nuestra aplicación.
¿Dónde se configura esto (diferentes aplicaciones para diferentes "subdominios")? ¿Está en Nginx o en las entradas DNS? ¿O ambos o en otro lugar?
(No estoy 100% seguro de los términos que debería usar para hacer esta pregunta, como "subdominios", no dude en decirme cuáles son).
Respuesta1
Depende de lo que quieras hacer.
Lo que estás preguntando probablemente requiera Nginx en lugar de entradas DNS agregadas.
Las entradas DNS de CNAME pueden redirigir ciertos subdominios a un dominio determinado (pero no directamente a una dirección IP o puerto específico en un servidor). Solo necesita un CNAME si está asignando un subdominio y redirige la solicitud a un nombre de dominio diferente (es decir, subdominio.exampleone.com se refiere a ejemplodos.com).
Nginx puede actuar como un proxy inverso, tomando subdominios y redirigiéndolos a una carpeta/archivos en particular o a un puerto en su servidor. Esto se puede configurar desde su /etc/nginx/nginx.conf
*, dentro del http {...}
bloque o en el /etc/nginx/sites-enabled/
directorio, donde puede crear un archivo separado para cada redireccionamiento (donde http {...}
está implícito).
*o donde se encuentre su directorio nginx
El formato adecuado para dicha redirección (a una aplicación en un puerto específico) en su /etc/nginx/nginx.conf
es el siguiente:
server {
# whether you type localhost or 127.0.0.1 or something else here
# depends on your servers /etc/hosts file, where you define how
# the server refers to itself
listen localhost:80;
server_name mysubdomain.example.com;
location / {
proxy_pass http://localhost:MYPORTNUMBER
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Donde reemplaza MYPORTNUMBER con el puerto en el que se ejecuta la aplicación. El proceso para redirigir a archivos estáticos es similar, pero en lugar de proxy_pass, harías root /path/to/desired/folder
.
No lo he probado específicamente, pero debería funcionar para subdominios de varios niveles como el server.test.ourdomain.com
de su ejemplo.