Actualmente tengo dos aplicaciones de reacción separadas, que se ejecutan en el dominio principal y el subdominio, la aplicación principal se ejecuta en https://example.com/ y la aplicación de administración se ejecuta en https://admin.example.com/
Ahora quiero fusionar ambas aplicaciones en el mismo dominio
Aplicación principal en la misma URL https://example.com/
aplicación de administración en https://example.com/admin
¿Como hacer eso? Mis aplicaciones están alojadas en un depósito de AWS s3.
Si desea que CloudFront solicite su contenido desde un directorio en su recurso de AWS o su origen personalizado, ingrese la ruta del directorio, comenzando con una barra inclinada (/). CloudFront agrega la ruta del directorio al valor del nombre de dominio de origen, por ejemplo, cf-origin.example.com/production/images
Por ejemplo, suponga que ha especificado los siguientes valores para su distribución:
Nombre de dominio de origen: un depósito de Amazon S3 denominado DOC-EXAMPLE-BUCKET
Ruta de origen – /producción
Nombres de dominio alternativos (CNAME): ejemplo.com
Cuando un usuario ingresa example.com/index.html en un navegador, CloudFront envía una solicitud a Amazon S3 para DOC-EXAMPLE-BUCKET/production/index.html.
Cuando un usuario ingresa example.com/acme/index.html en un navegador, CloudFront envía una solicitud a Amazon S3 para DOC-EXAMPLE-BUCKET/production/acme/index.html.
Mejor, Stefan
Primero debe ajustar la configuración del enrutador de reacción de la aplicación de administración. Aquí hay un excelente artículo sobre cómo hacerlo: Cómo implementar una aplicación React en un subdirectorio . A continuación, su configuración de nginx debería tener el siguiente aspecto:
location / { root <path/to/your/main/app>; try_files $uri $uri/ /index.html; } location /admin { alias <path/to/your/second/app>; try_files $uri $uri/ /admin/index.html; } Si puede colocar su segunda aplicación en el subdirectorio de admin de su primera aplicación (p. ej., la primera aplicación en /var/www/html y la segunda aplicación en /var/www/html/admin , la configuración de nginx puede simplificarse aún más:
root </path/to/your/main/app>; location / { try_files $uri $uri/ /index.html; } location /admin { try_files $uri $uri/ /admin/index.html; }