Isenção de responsabilidade: Este artigo foi gerado usando tradução automática.

Servidor Nginx - Hospedagem de subpastas

Prev Next
Profissional
Negócio
Empresa






Nginx é um servidor web de código aberto. Para saber mais, visite a documentação do Nginx


Configurando uma subpasta/subdiretório

Exemplo:

NOTA

Substitua o domínio de exemplo pelo seu próprio domínio/domínio personalizado fornecido pelo document360.

  • Exemplo de domínio representado usando example.document360.io

  • Caminho da subpasta/subdiretório (/docs) representado como example.document360.io/docs

  1. Adicione os seguintes blocos de localização no arquivo de configuração do 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 o servidor web Nginx

  2. Por exemplo, se você estiver usando o Nginx no Linux, use o comando
    $ sudo systemctl restart nginx

NOTA

Se você estiver no Site da Base de Dados de Conhecimento 2.0 e desejar hospedar sua base de dados de conhecimento como uma subpasta, será necessário definir o caminho da subpasta, bem como o caminho da API do site.


Para configurar em um caminho diferente de '/docs'

  • Você pode configurar sua base de dados de conhecimento em caminhos de subdiretório diferentes do /docs.
    Por exemplo, /help, /support, etc.

  • Ao configurar outros caminhos, adicione os idiomas associados a cada espaço de trabalho.

  • Mais algumas linhas precisam ser adicionadas para conseguir isso. Reinicie o servidor uma vez feito.

Exemplo:

NOTA

Substitua o domínio fornecido pelo Document360 e o domínio do subdiretório por seus próprios domínios. Além disso, substitua o nome do espaço de trabalho, o caminho da subpasta e o idioma pelos seus requisitos.

  • O domínio fornecido pelo Document360 representado como example.document360.io

  • Nome do workspace representado como /v1/

  • Caminho da subpasta representado como /help/

  • Idioma representado como /he para o hebraico.

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 o servidor web Nginx

  2. Por exemplo, se você estiver usando o Nginx no Linux, use o comando
    $ sudo systemctl restart nginx


Para habilitar o menu suspenso de espaços de trabalho

Se você quiser habilitar a navegação suspensa do espaço de trabalho para seu projeto ao hospedar em um subdiretório e caminho personalizados, adicione os códigos a seguir para cada um dos espaços de trabalho disponíveis em seu projeto.

Exemplo:

Vamos supor que haja dois espaços de trabalho disponíveis em seu projeto, v1 e v2. Nesse caso, você deve adicionar dois blocos de código, um para cada espaço de trabalho.

NOTA

Substitua o domínio fornecido pelo Document360 e o domínio do subdiretório por seus próprios domínios. Além disso, substitua o nome do espaço de trabalho, o caminho da subpasta e o idioma pelos seus requisitos.

  • O domínio fornecido pelo Document360 representado como example.document360.io

  • Nome do espaço de trabalho representado como /v1/,/v2/

  • Caminho da subpasta representado como /help/

  • Idioma representado como /he para o hebraico.

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

Se você quiser que seus leitores naveguem entre os diferentes espaços de trabalho públicos do seu projeto a partir do menu suspenso (com um clique do mouse), adicione o bloco de localização para todos os espaços de trabalho disponíveis.

  1. Reinicie o servidor web Nginx

  2. Por exemplo, se você estiver usando o Nginx no Linux, use o comando
    $ sudo systemctl restart nginx


Links úteis

Aqui estão alguns links externos que podem ajudá-lo a entender os blocos de localização do servidor Nginx em detalhes:


Geração de mapa do site

Exemplo:

NOTA

Substitua o domínio de exemplo pelo seu próprio domínio/domínio personalizado fornecido pelo document360.

  • Exemplo de domínio representado usando example.document360.io

  • O prefixo do mapa do site permanece o mesmo, exceto pelo código do 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 inicial hospedada em uma subpasta

Para hospedar a home page do projeto em um caminho personalizado de subdiretório/subpasta, adicione os códigos a seguir para cada um dos workspaces da home page disponíveis em seu projeto.

Exemplo:

Vamos supor que haja dois espaços de trabalho disponíveis em seu projeto, V1 e V2. Nesse caso, você deve adicionar dois blocos de código, um para cada espaço de trabalho.

NOTA

Substitua o domínio fornecido pelo Document360 e o domínio do subdiretório por seus próprios domínios. Além disso, substitua o nome do espaço de trabalho, o caminho da subpasta e o idioma pelos seus requisitos.

  • O domínio fornecido pelo Document360 representado como example.document360.io

  • Nome do espaço de trabalho representado 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;
}

DICA PRO

O sinal de igual pode ser usado se o local precisar corresponder ao URI de solicitação exato. Quando esse modificador é correspondido, a pesquisa para aqui. Para obter mais informações, click here.

Exemplo: location =/help {

  1. Reinicie o servidor web Nginx

  2. Por exemplo, se você estiver usando o Nginx no Linux, use o comando
    $ sudo systemctl restart nginx

Página inicial do site da base de conhecimento

A home page padrão de um site da base de dados de conhecimento aparece no diretório raiz (por exemplo, example.document360.io). Se o projeto contiver um espaço de trabalho e uma página inicial específica do idioma, o slug após o diretório raiz será /<workspace_name>/<language_code>. (Por exemplo,example.document360.io/v2/he)


O que acontece depois?

Depois de configurar com êxito o servidor Web, seu site da base de conhecimento estará ativo em sua subpasta/subdiretório personalizado. No entanto, a URL existente para seu projeto atenderá às solicitações.

Por exemplo example.document360.io e example.com/docs (se /docs for o caminho da pasta) apontará para o site da base de dados de conhecimento.

Isso pode causar conteúdo duplicado nos mecanismos de pesquisa (Google, Bing, etc.). Um redirecionamento do subdomínio do projeto Document360 para seu domínio personalizado será necessário para evitar isso.

NOTA

Para habilitar o redirecionamento de example.document360.io para example.com/docs, entre em contato conosco em support@document360.com.


Solucionando problemas

Esta seção fornece orientação passo a passo para solucionar desafios comuns que você pode enfrentar durante o processo de configuração do NGINX. De problemas de hospedagem de subpastas a testes de configuração com falha, cada solução foi projetada para ajudá-lo a identificar e resolver rapidamente possíveis obstáculos, garantindo uma configuração de servidor suave e eficiente.

Resolvendo diretiva de localização inválida no NGINX

Erro: nginx: [emerg] a diretiva "location" não é permitida aqui

Esse erro ocorre quando uma diretiva de localização é colocada fora de seu contexto válido, como fora do bloco de servidores. No NGINX, os blocos de localização devem ser definidos dentro de um bloco de servidor.

Etapas para resolver:

  1. Certifique-se de que o bloco de localização seja colocado corretamente dentro do bloco de servidores. Consulte o bloco de amostra abaixo:

    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 esse problema, não coloque diretivas de localização no contexto global http ou fora do server contexto.

  3. Se o problema persistir após seguir essas etapas, entre em contato com a equipe de suporte do Document360 para obter mais assistência: Entre em contato com o suporte do Document360

Problema de disponibilidade do pacote certbot

Erro: Nenhum pacote Certbot disponível

Esse problema geralmente ocorre quando o repositório EPEL (necessário para a instalação do Certbot em distribuições baseadas no RHEL) não está habilitado ou o gerenciador de pacotes não consegue localizar o Certbot em distribuições baseadas no RHEL.

Etapas para resolver:

  1. Habilite o repositório EPEL usando o código abaixo:

    sudo yum install epel-release
  2. Atualize o cache do repositório e tente instalar o Certbot novamente usando o código abaixo:

    sudo yum install certbot
  3. Verifique se a instância tem acesso à Internet para buscar os arquivos do repositório. Se o problema persistir, verifique os arquivos de configuração do repositório no /etc/yum.repos.d/.

  4. Se o problema persistir após seguir essas etapas, entre em contato com a equipe de suporte do Document360 para obter mais assistência: Entre em contato com o suporte do Document360

Problema de teste de configuração do NGINX

Erro: Falha no teste de configuração do NGINX

Esse problema ocorre quando há um erro de sintaxe no arquivo de configuração do NGINX.

Passos para resolvere:

  1. Execute o comando de teste de configuração:

    sudo nginx -t
  2. Revise a mensagem de erro e o número da linha como no exemplo mostrado abaixo:

    nginx: [emerg] invalid parameter "proxy_pas" in /etc/nginx/sites-enabled/example:22
    nginx: configuration file /etc/nginx/nginx.conf test failed
  3. Abra o arquivo /etc/nginx/sites-enabled/example especificado e corrija o problema de configuração. Por exemplo:

    # Incorrect
    proxy_pas https://example.com;
    
    # Correct
    proxy_pass https://example.com;
  4. Depois que o problema de configuração for corrigido, reinicie o NGINX:

    sudo systemctl restart nginx
  5. Se o problema persistir após seguir essas etapas, entre em contato com a equipe de suporte do Document360 para obter mais assistência: Entre em contato com o suporte do Document360

Emissão de certificado SSL

Erro: O certificado SSL não funciona

Esse problema pode ocorrer devido a uma configuração incorreta do NGINX SSL ou quando há um problema com o certificado instalado. Os detalhes do certificado, como domínio e data de expiração, podem não corresponder aos detalhes da configuração.

Etapas para resolver:

  1. Verifique os arquivos de certificado usando o código abaixo:

    openssl x509 -in /etc/letsencrypt/live/yourdomain.com/fullchain.pem -text -noout
  2. Certifique-se de que sua configuração corresponda aos detalhes do certificado, como domínio e data de expiração.

  3. Certifique-se de que a configuração do NGINX SSL esteja correta. Consulte o código abaixo como exemplo:

    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. Uma vez feito isso, reinicie o NGINX usando o código abaixo:

    sudo systemctl restart nginx
  5. Se o problema persistir após seguir essas etapas, entre em contato com a equipe de suporte do Document360 para obter mais assistência: Entre em contato com o suporte do Document360


Perguntas Freqüentes

Por que a página inicial do meu site não está disponível?

Depois de criar a página inicial do projeto usando o construtor de sites, certifique-se de publicá-la. Confirme se a página inicial está ativa e acessível ao público-alvo.