Solução da comunidade

Aloje um site no CasaOS com segurança usando o Nginx Docker sem expor o painel do CasaOS

An October 2023 CasaOS discussion asking whether Apache, Nginx, or another web server should be used to publish a site. The community recommended a Dockerized web server and warned against exposing the CasaOS management interface directly to the Internet.

O CasaOS pode alojar um site, mas o site e a interface de administração do CasaOS devem ser tratados como serviços separados. Esse foi o conselho mais importante naquela breve discussão de outubro de 2023: executar um servidor Web no Docker é razoável, enquanto expor diretamente o painel do CasaOS à Internet pública é uma decisão diferente e muito mais arriscada.

Para um site estático simples, o Nginx continua a ser uma excelente escolha de contentor, porque a imagem oficial consegue servir um diretório de HTML, CSS, JavaScript e imagens com muito pouca configuração.

Execute o Site no Seu Próprio Contentor

O CasaOS é uma camada de gestão para o Docker e para os ficheiros no anfitrião Linux subjacente. Por isso, não é necessário instalar um site no próprio serviço de gestão do CasaOS.

Mantenha o servidor Web isolado no seu próprio contentor, com um diretório de conteúdos dedicado e apenas as portas de que necessita.

A Imagem Oficial do Nginx Pode Servir Conteúdos Estáticos Diretamente

A imagem Docker atual do Nginx suporta a montagem de um diretório local do site, em modo apenas de leitura, em:

/usr/share/nginx/html

Esse modelo é ideal para um site pessoal estático, porque o processo do servidor pode ler os conteúdos sem modificar os ficheiros de origem.

Utilize a disposição atual do contentor oficial do Nginx para conteúdos estáticos, em vez de copiar uma imagem de terceiros antiga de um tutorial de 2021.

O Apache Também É Válido, mas a Escolha Não Define o Limite de Segurança

A pergunta original comparava o Apache com o Nginx. Ambos podem alojar um site eficazmente. As decisões mais importantes são a forma como o contentor é atualizado, onde os ficheiros do site estão armazenados, se o TLS está configurado e quais as portas de rede expostas.

Mudar do Nginx para o Apache não torna seguro um painel de administração exposto publicamente.

Mantenha o Painel do CasaOS Privado

O membro da comunidade que respondeu alertou explicitamente contra a abertura do próprio CasaOS à Web. A interface de gestão pode controlar ficheiros, contentores e outras funções do servidor; expô-la cria uma superfície de ataque muito maior do que expor um contentor de site configurado de forma restrita.

Mantenha a administração na rede local ou atrás de uma camada privada de acesso remoto.

Utilize uma Rede Privada para a Administração

O utilizador de origem decidiu manter o CasaOS em casa para o Jellyfin e utilizar o Tailscale para o acesso remoto ao Nextcloud. Essa é uma separação de responsabilidades adequada: o tráfego do site público pode dirigir-se para o contentor Web, enquanto os serviços de administração permanecem acessíveis apenas através de uma rede sobreposta privada.

Se o Site Tiver de Ser Público, Adicione TLS e um Caminho de Entrada Claro

Um site público precisa normalmente de um nome de domínio, de um certificado HTTPS e de reencaminhamento no router ou de uma arquitetura com túnel inverso/autenticado. A escolha exata depende de ter ou não um IP público e da quantidade de infraestrutura que pretende operar.

Publique apenas as portas do servidor Web necessárias para o site. Não reencaminhe portas não relacionadas do CasaOS ou da gestão do Docker.

Atualize o Contentor Web e a Respetiva Pilha de Conteúdos

Um site estático mínimo em Nginx tem uma superfície de ataque relativamente pequena, mas o contentor continua a precisar de atualizações de segurança. Sites dinâmicos baseados em PHP, WordPress, Node.js ou numa base de dados acrescentam muitos mais componentes e devem ser atualizados como uma pilha de aplicações, em vez de serem tratados como simples ficheiros estáticos.

Faça Cópias de Segurança dos Conteúdos do Site Separadamente do Contentor

Mantenha os ficheiros do site numa pasta persistente do anfitrião ou num repositório. Se o contentor for recriado, o site deverá poder ser recuperado sem reconstruir os conteúdos a partir de um sistema de ficheiros descartável dentro do contentor.

Perguntas Frequentes sobre Servidores Web no CasaOS

O CasaOS pode alojar um site?

Sim. Um servidor Nginx ou Apache em Docker pode publicar conteúdos Web independentemente da interface do CasaOS.

O próprio painel do CasaOS deve ser exposto publicamente?

A comunidade de origem recomendou especificamente que não. Mantenha a gestão privada.

Qual é o servidor mais simples para um site estático?

A imagem Docker oficial do Nginx proporciona um fluxo de trabalho simples para conteúdos estáticos.