Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

272
Vistas
Kubernetes, Nginx, SPA hosted on a shared domain

I'm working on a project thats hosted on kubernetes, theres an ingress configured so that going to the domain root (lets call it example.com) directs to an nginx service hosting an spa thats already running. certain api paths /v1, /v2 etc point to different api services.

We are adding a second SPA that will be hosted under example.com/ui

I should probably mention this SPA is built using lit element (web components), but gets pre-processed(minified/transpiled/etc) and hosted via nginx rather than using polymer-serve or something similar. The processing is done via rollupjs and tailwind-cli(for the css). Also the site using routing, so other routes example.com/ui/someOtherRoute define user views in the SPA but would just return the index.html from the server.

I started with an nginx config I use for all of my other SPAs however it's set up to use the root domain.

server {
listen   80;
listen   [::]:80 default ipv6only=on;

root /usr/share/nginx/html;
index index.html;

server_name _; # all hostnames

location / {
    try_files $uri /index.html;
}

add_header Access-Control-Allow-Origin *;

}

So we have a situation where if the uri doesn't have /ui it wont get routed to my nginx server

When something does contain /ui I want to check for matching files otherwise serve the index.html

I don't have much experience with nginx but have been researching potential solutions.

currently I'm trying to leverage the alias feature as such:

 location /ui/ {
    alias /usr/share/nginx/html;
    try_files $uri /index.html;
}

My understanding is that using the alias will strip the "/ui" from the search path so that a request of example.com/ui/somefile.css would look up files as if it was example.com/somefile.css

However I also found an old bug thats still open here

Stating that leveraging try_files $uri isn't effected by the alias. so the try_files command must still use the /ui in its file look up.

I also tried leveraging the html base tag in my index but that started adding /ui/ui to all of my css and js script requests.

I may be way off on my understanding here but any guidance would be great. I have limited control over what can be changed in the kuberenetes ingress, but I have complete control over the ngix container and the SPA code base.

We have a fallback plan of adding a separate sub domain for the new ui app, which will work and we've done many times before. I'm just really stuck in my head on this because I'm sure it can be solved as is and I'd really like to figure it out.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda