Nginx

Como usar o Nginx Proxy Manager

Como usar o Nginx Proxy Manager
Nginx é um servidor da web popular e proxy reverso usado para rotear o tráfego e redirecioná-lo para outro servidor. Configurar o Nginx como um proxy reverso pode ser demorado e sujeito a erros e configurações incorretas. Este guia mostrará como configurar e usar o gerenciador de proxy Nginx para facilitar o gerenciamento e a configuração. Antes de mergulhar no tutorial, existem alguns pré-requisitos. Você vai precisar de:

  1. Um servidor Linux
  2. Docker e Docker Compose instalados no servidor
  3. Root ou usuário com permissões de sudo

Se você tem tudo isso, vamos mergulhar.

O que é o Nginx Proxy Manager?

O gerenciador de proxy Nginx (NPM) é um sistema de gerenciamento de proxy reverso executado no Docker. O NPM é baseado em um servidor Nginx e fornece aos usuários uma interface da web limpa, eficiente e bonita para facilitar o gerenciamento. A ferramenta é fácil de configurar e não requer que os usuários saibam como trabalhar com servidores Nginx ou certificados SSL. NPM é uma ferramenta de código aberto mantida por desenvolvedores de todo o mundo. É adequado para pequenos ambientes de servidor e ambientes de laboratório privado. Este tutorial se concentrará em mostrar como implantar o gerenciador de proxy Nginx:

Instalando Docker e SQLite

O gerenciador Nginx Proxy é executado como um contêiner do docker; portanto, requer Docker e docker-compose instalados no servidor. Para simplificar, vou apenas ilustrar como instalar o Docker no Ubuntu. Consulte a documentação do Docker para referência sobre como configurá-lo em outros sistemas. Para instalar o Docker no Ubuntu, comece removendo as instalações antigas do Docker. Pule isto se nenhum estiver disponível.

sudo apt-get remove docker docker-engine docker.Io containerd runc

Em seguida, instale o repositório e todas as dependências usando os comandos:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificados curl gnupg lsb-release -y

Adicione a chave GPG do repositório Docker:

curl -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.gpg

Em seguida, adicione o repositório estável usando o comando echo como:

echo "deb [arch = amd64 assinado por = / usr / share / keyrings / docker-archive-keyring.gpg] https: // download.docker.com / linux / ubuntu \
$ (lsb_release -cs) stable "| sudo tee / etc / apt / sources.Lista.d / docker.lista> / dev / null

Por fim, atualize os repositórios e instale o docker usando os comandos:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Agora execute o docker e habilite na inicialização:

sudo systemctl enable docker.serviço
sudo systemctl start docker.serviço
sudo systemctl enable containerd.serviço

Instale SQLite

O próximo passo é instalar o banco de dados SQLite que usaremos para executar o NPM. É bom notar que você também pode usar o banco de dados MySQL.

Implantar NPM no Docker

Para implantar o Nginx Proxy Manager, precisamos criar um arquivo docker-compose para executar o Docker e inicializar o contêiner. Para saber mais sobre o arquivo de composição do Docker e como ele funciona, considere os recursos vinculados aqui. Eu recomendo fortemente que você crie o arquivo docker-compose em um diretório no qual você tenha permissões totais.

nano docker-compose.yaml

Em seguida, adicione as seguintes linhas ao arquivo de composição, salve e feche.

versão: "3"
Serviços:
aplicativo:
imagem: 'jc21 / nginx-proxy-manager: mais recente'
reiniciar: sempre
portas:
# Porta HTTP
- '80: 80 '
# Porta HTTPS:
- '443: 443'
# Admin UI
- '81: 81 '
meio Ambiente:
DB_SQLITE_FILE: "/ data / npm.sqlite "
volumes:
- ./ data: / data
- ./ letsencrypt: / etc / letsencrypt

Por fim, execute o comando docker-compose como:

docker-compose up -d

Isso implantará a pilha da imagem NPM especificada no arquivo docker-compose. Saída de criação:

Criação de rede "debian_default" com o driver padrão
Puxando aplicativo (jc21 / nginx-proxy-manager: mais recente) ..
mais recente: puxando de jc21 / nginx-proxy-manager
801bfaa63ef2: Extração completa
7927cd3bbe4c: Puxar completo
f53b85628da5: Extração completa
e834c30791f9: Puxado completo
6b68b3708dd5: Extração completa
963fe519b5fd: Extração completa
37e54d057f10: Extração completa
-------------------------------------
Resumo: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: imagem mais recente baixada para jc21 / nginx-proxy-manager: mais recente
Criando debian_app_1… concluído

Acessando a IU do NPM

Depois de criado e executado, você pode fazer login na Interface usando o endereço IP e a porta especificados no arquivo docker-compose. Neste caso, porta 81.

http: // IP: 81

Seria melhor se você acessasse a IU de login do NPM. Digite o nome de usuário e a senha como:

[email protegido] e changeme, respectivamente.

No login inicial, você terá que atualizar os detalhes do administrador.

Depois de atualizar todos os detalhes do usuário, você chegará ao painel principal, de onde poderá configurar seus hosts proxy:

Trabalhando com NPM

Depois de instalar e garantir que o gerenciador de proxy esteja em execução, podemos adicionar um host proxy para expor um serviço em execução no servidor. Navegue até Hosts - Proxy Hosts e clique em Add Proxy Host.

Selecione o esquema como HTTP ou HTTPS. Se o serviço que você deseja expor não é compatível com tráfego HTTPS, use HTTP. Em seguida, adicione os nomes de domínio, nome do host de encaminhamento e IP. Você também pode selecionar Bloquear exploits comuns para aumentar a segurança.

Depois de expor o serviço, tente acessá-lo usando o nome de host ou IP e porta especificados. Este serviço deve ser acessível. Você também pode gerenciar o proxy na lista de hosts de proxy.

Lista de acesso NPM

Em alguns casos, podemos precisar expor um aplicativo ou serviço na lista de proxy NPM para endereços IP específicos. Para configurar isso, você pode usar a Lista de Acesso NPM.

Navegue até a Lista de Acesso e clique em Adicionar Lista de Proxy. Aqui, dê a eles um nome de lista de acesso; você também pode selecionar Satisfaça Qualquer.

Na guia de autorização, defina os nomes de usuário e senhas que você usará para fazer login no serviço.

Navegue até a guia Acesso e adicione os endereços IP dos quais deseja permitir conexões e negar todos os outros.

Para anexar a Lista de Acesso a um aplicativo da web específico, navegue até Hosts - Host Proxy e selecione seu host. Clique em Editar e defina a lista de acesso conforme definido acima.

Provisionamento de certificados SSL

O NPM também permite que você forneça certificados SSL em vários nomes de domínio. Antes de adicionar um nome de domínio à provisão SSL, certifique-se de que o domínio aponta para o servidor proxy NPM.

Navegue até os certificados SSL e clique em Adicionar certificado SSL. Forneça os nomes de domínio e o endereço de e-mail para Let's Encrypt. Por fim, concorde com os termos de serviço e salve. Você também pode adicionar um desafio de DNS, mas não vou cobrir isso neste tutorial.

Isso criará um novo certificado SSL confiável.

Personalizar a página inicial

Você também pode personalizar a página da Web padrão para o servidor NPM. Clique em Configurações - Site padrão e selecione Editar. Você pode optar por mostrar um erro 404, redirecionar para um novo endereço ou criar uma página personalizada.

Por exemplo, abaixo está um código HTML para mostrar 403 Forbidden.







403 - Proibido


FONTE: CodePen https: // codepen.io / blecaf / pen / NLoEPY

Conclusão

Este tutorial examinou a instalação e implantação do gerenciador Nginx Proxy em um servidor Ubuntu executando o Docker. Em seguida, abordamos como configurar o NPM e adicionar hosts ao gerenciador de proxy.

Lembre-se: a experimentação consistente é a chave para o domínio, então experimente!

Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...