Caddy

Instalando Caddy Server no Ubuntu

Instalando Caddy Server no Ubuntu
TLS é importante para todos os sites e aplicativos da web que existem. Se houver um aplicativo que usa HTTP ou envia e-mail, ele precisa de TLS. TLS garante privacidade, integridade e autenticidade de seu conteúdo. Com autoridades de certificação TLS gratuitas como Let's Encrypt e CloudFlare, o TLS está se tornando mais uma norma do que um caso especial.No entanto, ativar o TLS costuma ser um processo extremamente complicado. Ele também tem ramificações de segurança maciças, se as configurações forem maltratadas, ou Deus me livre, você acidentalmente vaza sua chave TLS privada. Para mitigar alguns desses riscos e também para tornar nossas vidas muito mais fáceis, há um novo servidor web na cidade. Caddy fala HTTP / 2 e vem com TLS habilitado fora da caixa. Isso significa que você não precisa configurar manualmente redirecionamentos de HTTP para HTTPS ou se preocupar com pacotes de criptografia Gallizion que você nunca viu antes.

Com o servidor web Caddy, você obtém HTTPS ou nada. Então, vamos ver como você pode instalar o Caddy no Ubuntu e configurá-lo para servir ao seu aplicativo web. Estaremos recebendo nossos certificados TLS de LetsEncrypt.

Configurar

Suponha que você tenha um VPS com endereço IP: 10.20.30.40 e um subdomínio FQDN.exemplo.com quem é um registro está apontando para este IP.
O VPS está executando o Ubuntu 18.04 A edição do servidor LTS e as seguintes configurações são feitas como usuário root.

Etapa 1: Instalando o Caddy Web Server

Caddy é escrito em Go e pode ser executado como um binário executável autônomo. No entanto, existem vários plug-ins que você pode incorporar a ele para servidores DNS específicos, etc. Estaremos instalando o binário simples sem nenhum plugin para que funcione em todas as personalizações.

Para obter o seu binário, visite a página oficial de downloads e selecione todos os plug-ins e telemetria que você precisa. Abaixo, estará um comando bash para baixar e colocar o binário do servidor caddy no local correto. Como usuário root, execute:

$ curl https: // getcaddy.com | bash -s pessoais

Feito isso, podemos localizar o binário, executando:

$ whereis caddie
caddy: / ​​usr / local / bin / caddy

Se você precisar remover o servidor ou atualizá-lo com um executável mais recente, agora você sabe onde procurar.

Etapa 2: Teste seu site

Se você não tem um site, basta criar uma pasta vazia e executar os comandos nela. Você pode obter um erro 404 em seu navegador, mas a configuração do servidor ainda pode ser testada. Se você tiver um site, vá até o diretório onde o webroot do seu site está localizado em. Como um exemplo típico, selecionarei o / var / www / mysite como um exemplo com o seguinte índice.html armazenado dentro dele.

/ var / www / mysite / index.html



Esta página é servida por Caddy Server


Esta página é servida por Caddy Server


Este é um parágrafo.



Isso é o suficiente para começarmos. Agora no mesmo diretório que este índice.página html, execute o seguinte comando:

$ caddy
Ativando recursos de privacidade ... pronto.
http: //: 2015

AVISO: O limite do descritor de arquivo 1024 é muito baixo para servidores de produção. Recomenda-se pelo menos 8192. Corrigir com 'ulimit -n 8192'.

Deixe o caddie funcionando neste estado.

Você pode acessar o IP público do seu servidor na porta número 2015 para testar isso: http: // 10.20.30.40: 2015 certifique-se de que seu firewall não esteja bloqueando esta porta.

E você verá aquele índice.html é servido automaticamente. Isso segue a antiga convenção de que a primeira página de qualquer site é chamada de índice, que a maioria dos servidores da web como Nginx, Apache e até mesmo Caddy serve como a primeira página, mesmo quando você não especifica esta página usando / index.html no final do URL.

Etapa 3: Configurando HTTPS

Agora que você confirmou que seu site realmente funciona com o Caddy e pode ser servido com ele, é hora de configurar o HTTPS. Para fazer isso, você pode usar a interface de linha de comando ou usar um arquivo de configuração chamado Caddyfile. Vamos usar a linha de comando primeiro.

No mesmo diretório do seu site, execute o seguinte comando:

$ caddy -host subdomínio.exemplo.com
## Pela primeira vez, ele irá pedir seu endereço de e-mail para que você possa obter
notificação de renovação de certificado de LetsEncrypt

Resultado:

Ativando recursos de privacidade ..
Seus sites serão servidos por HTTPS automaticamente usando Let's Encrypt.
Ao continuar, você concorda com o Contrato do Assinante Let's Encrypt em:
https: // letsencrypt.org / documents / LE-SA-v1.2-novembro-15-2017.pdf
Por favor, digite seu endereço de e-mail para assinar o acordo e ser notificado
em caso de problemas. Você pode deixar em branco, mas não recomendamos.
Endereço de e-mail: [e-mail protegido]

É isso! Seu site agora está instalado e funcionando. Você pode visitar o subdomínio.exemplo.com e será redirecionado automaticamente para HTTPS sem qualquer número de porta personalizado ou outras nuances.

É assim tão fácil! Você pode CTRL + C para parar o servidor, da próxima vez ele apenas reutilizará este certificado.

Etapa 4: Escrevendo seu Caddyfile

O método acima é bom para casos de uso experimental em que você está apenas testando a água. Mas se você quiser um servidor web em execução como um processo em segundo plano, você precisa escrever um Caddyfile e dizer ao servidor web para usar esta configuração para executar seu servidor.

Este é o exemplo mais simples para o mesmo site que hospedamos acima:

subdomínio.exemplo.com
root / var / www / mysite

A diretiva root diz ao servidor web onde o site está localizado. Você não pode sair deste diretório do lado do cliente. Geralmente é uma boa ideia colocar o arquivo caddy em qualquer lugar, menos dentro deste webroot. Você pode colocá-lo em / etc / folder ou em seu diretório pessoal. Por exemplo, se o arquivo for criado em / etc / Caddyfile, você pode dizer ao servidor para usar esta configuração, executando o comando:

$ caddy -conf / etc / Caddyfile

Existem várias diretivas que você pode usar para ajustar o seu servidor. Você pode habilitar o registro, compressão, proxy reverso, etc. A documentação oficial é um bom lugar para começar a procurar por diretivas relacionadas ao seu caso de uso. Aqui está outro exemplo em que dois sites com dois nomes de domínio diferentes estão sendo exibidos:

subdomínio.exemplo.com
root / var / www / mysite

subdomínio2.exemplo.com
root / var / www / mysite2
gzip
log ... / acesso.registro

A diretiva gzip permite a compressão, se o cliente suportar. Isso melhora o desempenho, pois mais dados podem ser enviados pela largura de banda e no mesmo intervalo de tempo. O registro ajuda a depurar e controlar a atividade da rede.

Conclusão

A maior vantagem do servidor web Caddy é a facilidade de escrever e ler o arquivo de configuração e a flexibilidade em várias plataformas. No entanto, devido ao seu licenciamento estranho, o servidor não é estritamente de código aberto. O código-fonte é open source, e você pode compilá-lo totalmente e usar o executável resultante, mas o binário que você recebe do site oficial não deve ser usado para fins comerciais sem a licença adequada.

Isso nos traz de volta à questão das complicações onde, em vez de lidar apenas com arquivos de configuração, também temos que lidar com a compilação do código-fonte derrotando o propósito de um servidor web fácil de usar. Deixe-nos saber se você tem alguma opinião sobre a Caddy e se algum de seus sites funciona sobre ela.

Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
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...