Estoy intentando publicar un sitio web en una subcarpeta (exemple.com/sitename) usando Traefik.
El sitio está construido con Next JS.
Lo que sucede cuando ejecuto la implementación es que todos los enlaces de script en el sitio creado ignoran la carpeta (nombre del sitio). Por ejemplo, se accede a la secuencia de comandos js denominada generatedfile.js mediante el enlace example.com/generatedfile.js , la forma correcta sería example.com/sitename/generatedfile.js del sitio/archivogenerado.js
Mis argumentos traefik:
-l traefik.frontend.rule="Host:example.com; PathPrefixStrip:/sitename" -l traefik.frontend.entryPoints="http, https" -l traefik.frontend.headers.SSLRedirect="true" Intenté agregar basePath a mi next.config.js, pero cuando hago esto, solo accedo al sitio en el enlace exemple.com/sitename/sitename
siguiente.config.js:
module.exports = withFonts({ basePath: '/sitename' });Estoy usando docker para implementar en AWS.
He estado tratando de resolver esto todo el día, no sé ni qué más tratar de resolverlo.
Lo siento por mi inglés, no es mi primer idioma.
PathPrefixStrip significa hacer coincidir la ruta y eliminar la cadena coincidente antes de reenviar la solicitud a su aplicación. Utilice PathPrefix en su lugar.
Parece que estás usando v1.x de Traefik. Aquí está la documentación que explica mejor la diferencia: https://doc.traefik.io/traefik/v1.7/basics/
Vale la pena mencionar que si tiene varias reglas de enrutamiento, Traefik las clasifica por la longitud de la cadena en orden descendente y las revisa para que coincidan con la solicitud entrante. En otras palabras, /api coincide antes que / .