¿Cómo se configuran las diferentes aplicaciones bajo el mismo dominio?

¿Cómo se configuran las diferentes aplicaciones bajo el mismo dominio?

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.confes 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.comde su ejemplo.

información relacionada