Descargo de responsabilidad: Este artículo se generó mediante traducción automática.

Servidor Nginx - Alojamiento de subcarpetas

Prev Next
Profesional
Negocio
Empresa






Nginx es un servidor web de código abierto. Para obtener más información, visite la documentación de Nginx


Configuración de una subcarpeta/subdirectorio

Ejemplo:

NOTA

Reemplace el dominio de ejemplo por su propio dominio/dominio personalizado proporcionado por document360.

  • Ejemplo de dominio representado mediante example.document360.io

  • Ruta de subcarpeta/subdirectorio (/docs) representada como example.document360.io/docs

  1. Agregue los siguientes bloques de ubicación en su archivo de configuración de Nginx (/etc/nginx/default).

location /docs {
    proxy_pass https://example.document360.io/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;
}
  1. Reinicie el servidor web Nginx

  2. Por ejemplo, si está utilizando Nginx en Linux, utilice el comando
    $ sudo systemctl restart nginx

NOTA

Si se encuentra en KB Site 2.0 y desea alojar su base de conocimientos como una subcarpeta, debe definir la ruta de la subcarpeta, así como la ruta de la API del sitio.


Para configurar en una ruta que no sea '/docs'

  • Puede configurar su base de conocimientos en rutas de subdirectorio que no sean /docs.
    Por ejemplo, /help, /support, etc.

  • Al configurar otras rutas, agregue los idiomas asociados a cada espacio de trabajo.

  • Es necesario agregar algunas líneas más para lograr esto. Reinicie el servidor una vez hecho esto.

Ejemplo:

NOTA

Reemplace el dominio proporcionado por Document360 y el dominio del subdirectorio por sus propios dominios. Además, reemplace el nombre del área de trabajo, la ruta de la subcarpeta y el idioma por sus requisitos.

  • El dominio proporcionado por Document360 se representa como example.document360.io

  • El nombre del área de trabajo se representa como /v1/

  • Ruta de la subcarpeta representada como /help/

  • Idioma representado /he como para el hebreo.

location /help {
    proxy_pass https://example.document360.io/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v1/docs/" "v1/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
  1. Reinicie el servidor web Nginx

  2. Por ejemplo, si está utilizando Nginx en Linux, utilice el comando
    $ sudo systemctl restart nginx


Para habilitar el menú desplegable de espacios de trabajo

Si desea habilitar la navegación desplegable del espacio de trabajo para su proyecto cuando se hospeda en un subdirectorio y una ruta de acceso personalizados, agregue los siguientes códigos para cada uno de los espacios de trabajo disponibles en su proyecto.

Ejemplo:

Supongamos que hay dos áreas de trabajo disponibles en el proyecto, v1 y v2. En ese caso, debe agregar dos bloques de código, uno para cada área de trabajo.

NOTA

Reemplace el dominio proporcionado por Document360 y el dominio del subdirectorio por sus propios dominios. Además, reemplace el nombre del área de trabajo, la ruta de la subcarpeta y el idioma por sus requisitos.

  • El dominio proporcionado por Document360 se representa como example.document360.io

  • El nombre del área de trabajo se representa como /v1/,/v2/

  • Ruta de la subcarpeta representada como /help/

  • Idioma representado /he como para el hebreo.

location /v2/help {
    proxy_pass https://example.document360.io/v2/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v2/docs/" "v2/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
-----------------------------------------------------
location /v1/help {
    proxy_pass https://example.document360.io/v1/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v1/docs/" "v1/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
-----------------------------------------------------
location = /v2/docs {
    return 301 /v2/help;
}
-----------------------------------------------------
location = /v1/docs {
    return 301 /v1/help;
}

NOTA

Si desea que sus lectores naveguen entre los diferentes espacios de trabajo públicos de su proyecto desde el menú desplegable (al hacer clic con el mouse), agregue el bloque de ubicación para todos los espacios de trabajo disponibles.

  1. Reinicie el servidor web Nginx

  2. Por ejemplo, si está utilizando Nginx en Linux, utilice el comando
    $ sudo systemctl restart nginx


Enlaces útiles

Aquí hay algunos enlaces externos que pueden ayudarlo a comprender los bloques de ubicación del servidor Nginx en detalle:


Generación de mapas del sitio

Ejemplo:

NOTA

Reemplace el dominio de ejemplo por su propio dominio/dominio personalizado proporcionado por document360.

  • Ejemplo de dominio representado mediante example.document360.io

  • El prefijo del mapa del sitio sigue siendo el mismo, excepto por el código de idioma (en, fr, de, etc.)  example.document360.io/sitemap.xml.en

location /sitemap.xml.en {
proxy_pass https://example.document360.io/sitemap.xml.en;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;

Página de inicio alojada en una subcarpeta

Para alojar la página principal del proyecto en una ruta de acceso personalizada de subdirectorio o subcarpeta, agregue los siguientes códigos para cada uno de los espacios de trabajo de la página principal disponibles en el proyecto.

Ejemplo:

Supongamos que hay dos espacios de trabajo disponibles en el proyecto, V1 y V2. En ese caso, debe agregar dos bloques de código, uno para cada área de trabajo.

NOTA

Reemplace el dominio proporcionado por Document360 y el dominio del subdirectorio por sus propios dominios. Además, reemplace el nombre del área de trabajo, la ruta de la subcarpeta y el idioma por sus requisitos.

  • El dominio proporcionado por Document360 se representa como example.document360.io

  • El nombre del área de trabajo se representa como /v1/,/v2/

location =/v1 {
proxy_pass https://example.document360.io/;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;
}
location =/v2 {
proxy_pass https://example.document360.io/;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;
}
location /v1/en {
  return 301 /v1;
}
location /v2/en {
  return 301 /v2;
}

CONSEJO PROFESIONAL

El signo igual se puede usar si la ubicación debe coincidir con el URI exacto de la solicitud. Cuando se coincide con este modificador, la búsqueda se detiene aquí. Para obtener más información, click here.

Ejemplo: location =/help {

  1. Reinicie el servidor web Nginx

  2. Por ejemplo, si está utilizando Nginx en Linux, utilice el comando
    $ sudo systemctl restart nginx

Página de inicio del sitio de la base de conocimientos

La página principal predeterminada de un sitio de base de conocimiento aparece en el directorio raíz (por ejemplo, example.document360.io). Si el proyecto contiene un espacio de trabajo y una página de inicio específica del idioma, el slug que sigue al directorio raíz sería /<workspace_name>/<language_code>. (Por ejemplo,example.document360.io/v2/he)


¿Qué pasa después?

Una vez que haya configurado correctamente el servidor web, el sitio de la base de conocimientos estará activo en la subcarpeta/subdirectorio personalizado. Sin embargo, la URL existente de tu proyecto atenderá las solicitudes.

Por ejemplo example.document360.io y example.com/docs (si /docs es la ruta de la carpeta) apuntará al sitio de la base de conocimientos.

Esto puede provocar contenido duplicado en los motores de búsqueda (Google, Bing, etc.). Para evitarlo, será necesario un redireccionamiento desde el subdominio del proyecto de Document360 a su dominio personalizado.

NOTA

Para habilitar la redirección desde example.document360.io hasta example.com/docs, póngase en contacto con nosotros en support@document360.com.


Solución de problemas

Esta sección proporciona orientación paso a paso para solucionar problemas comunes que puede enfrentar durante el proceso de configuración de NGINX. Desde problemas de alojamiento de subcarpetas hasta pruebas de configuración fallidas, cada solución está diseñada para ayudarlo a identificar y resolver rápidamente posibles obstáculos, lo que garantiza una configuración del servidor fluida y eficiente.

Resolución de directivas de ubicación no válidas en NGINX

Error: nginx: [emerg] la directiva "location" no está permitida aquí

Este error se produce cuando una directiva de ubicación se coloca fuera de su contexto válido, como fuera del bloque del servidor. En NGINX, los bloques de ubicación deben definirse dentro de un bloque de servidor.

Pasos para resolverlo:

  1. Asegúrese de que el bloque de ubicación esté colocado correctamente dentro del bloque del servidor. Consulte el siguiente bloque de ejemplo:

    server {
        listen 80;
        server_name example.com;
        location /docs {
            proxy_pass https://example.document360.io/docs;
            proxy_set_header Host example.document360.io;
        }
    }
  2. Para evitar este problema, no coloque las directivas de ubicación en el contexto global http o fuera del server contexto.

  3. Si el problema persiste después de seguir estos pasos, póngase en contacto con el equipo de soporte de Document360 para obtener más ayuda: Póngase en contacto con el equipo de soporte de Document360

Problema de disponibilidad del paquete Certbot

Error: No hay paquete Certbot disponible

Este problema ocurre a menudo cuando el repositorio EPEL (necesario para la instalación de Certbot en distribuciones basadas en RHEL) no está habilitado, o el administrador de paquetes no puede localizar Certbot en distribuciones basadas en RHEL.

Pasos para resolverlo:

  1. Habilite el repositorio EPEL mediante el siguiente código:

    sudo yum install epel-release
  2. Actualice la caché del repositorio e intente instalar Certbot nuevamente mediante el siguiente código:

    sudo yum install certbot
  3. Asegúrese de que la instancia tenga acceso a Internet para obtener los archivos del repositorio. Si el problema persiste, verifique los archivos de configuración del repositorio en /etc/yum.repos.d/.

  4. Si el problema persiste después de seguir estos pasos, póngase en contacto con el equipo de soporte de Document360 para obtener más ayuda: Póngase en contacto con el equipo de soporte de Document360

Problema de prueba de configuración de NGINX

Error: Error en la prueba de configuración de NGINX

Este problema se produce cuando hay un error de sintaxis en el archivo de configuración de NGINX.

Pasos para resolvere:

  1. Ejecute el comando de prueba de configuración:

    sudo nginx -t
  2. Revise el mensaje de error y el número de línea como se muestra a continuación:

    nginx: [emerg] invalid parameter "proxy_pas" in /etc/nginx/sites-enabled/example:22
    nginx: configuration file /etc/nginx/nginx.conf test failed
  3. Abra el archivo /etc/nginx/sites-enabled/example especificado y solucione el problema de configuración. Por ejemplo:

    # Incorrect
    proxy_pas https://example.com;
    
    # Correct
    proxy_pass https://example.com;
  4. Una vez solucionado el problema de configuración, reinicie NGINX:

    sudo systemctl restart nginx
  5. Si el problema persiste después de seguir estos pasos, póngase en contacto con el equipo de soporte de Document360 para obtener más ayuda: Póngase en contacto con el equipo de soporte de Document360

Problema con el certificado SSL

Error: El certificado SSL no funciona

Este problema puede ocurrir debido a una configuración incorrecta de SSL de NGINX o cuando hay un problema con el certificado instalado. Es posible que los detalles del certificado, como el dominio y la fecha de caducidad, no coincidan con los detalles de configuración.

Pasos para resolverlo:

  1. Verifique los archivos de certificado mediante el siguiente código:

    openssl x509 -in /etc/letsencrypt/live/yourdomain.com/fullchain.pem -text -noout
  2. Asegúrese de que la configuración coincida con los detalles del certificado, como el dominio y la fecha de caducidad.

  3. Asegúrese de que la configuración SSL de NGINX sea correcta. Consulte el siguiente código como ejemplo:

    server {
        listen 443 ssl;
        server_name yourdomain.com;
        
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    }
  4. Una vez hecho esto, reinicie NGINX usando el siguiente código:

    sudo systemctl restart nginx
  5. Si el problema persiste después de seguir estos pasos, póngase en contacto con el equipo de soporte de Document360 para obtener más ayuda: Póngase en contacto con el equipo de soporte de Document360


Preguntas más frecuentes

¿Por qué la página de inicio de mi sitio no está disponible?

Una vez que hayas diseñado la página de inicio del proyecto utilizando el creador de sitios, asegúrate de haberla publicado. Confirme que la página de inicio esté activa y sea accesible para el público previsto.