Instalando o Caddy Server no Ubuntu

Instalando o Caddy Server no Ubuntu
O TLS é importante para todos os sites e aplicativos da web por aí. Se houver um aplicativo que use http ou email, ele precisa de TLS. O TLS garante privacidade, integridade e autenticidade do seu conteúdo. Com autoridades gratuitas de certificados TLS como Let's Encrypt e CloudFlare, o TLS está se transformando mais em uma norma do que em um caso especial.No entanto, ativar o TLS é frequentemente um processo massivamente complicado. Ele também tem ramificações maciças de segurança, se as configurações forem maltratadas, ou o céu proíbe, você acidentalmente vazar sua chave TLS privada. Para mitigar alguns desses riscos e também facilitar nossas vidas, há um novo servidor na cidade. Caddy fala http/2 e vem com TLS ativado para fora da caixa. Isso significa que você não precisa configurar manualmente o HTTP para redirecionamentos https ou se preocupar com um Gallizion Cifra Suites que você nunca viu antes.

Com o Caddy Web Server, você obtém https ou nada. Então, vamos ver como você pode instalar o Caddy no Ubuntu e configurá -lo para servir seu aplicativo da web. Receberemos nossos certificados TLS da 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 disco está apontando para este IP.
O VPS está executando o Ubuntu 18.04 LTS Server Edition e as configurações seguintes são feitas como usuário root.

Etapa 1: Instalando o servidor da Web Caddy

Caddy está escrito em Go e pode ser executado como um binário executável independente. No entanto, existem vários plugins que você pode construir nele para servidores DNS específicos, etc. Estaremos instalando o binário simples sem nenhum plug -in, para que funcione em todas as personalizações.

Para obter sua página de downloads oficiais binários e selecione todos os plugins e telemetria que você precisa. Abaixo, será um comando bash para baixar e colocar o binário do servidor Caddy no local certo. Como usuário root, execute:

$ curl https: // getcaddy.com | BASH -S PESSOAL

Uma vez feito isso, podemos localizar o binário, executando:

$ whereis caddy
Caddy:/usr/local/bin/caddy

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

Etapa 2: testando seu site

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

/var/www/mysite/index.html



Esta página é servida pelo servidor Caddy


Esta página é servida pelo servidor Caddy


Este é um parágrafo.



Isso é suficiente para nos começar. Agora, no mesmo diretório que este índice.Página HTML, execute o seguinte Commad:

$ caddy
Ativando os recursos de privacidade ... feitos.
http: //: 2015

Aviso: o limite do descritor de arquivos 1024 é muito baixo para servidores de produção. Pelo menos 8192 é recomendado. Corrija com 'ulimit -n 8192'.

Deixe o Caddy funcionando neste estado.

Você pode ir ao IP público do servidor no número da porta 2015 para testar isso: http: // 10.20.30.40: 2015 Verifique se o seu firewall não está bloqueando esta porta.

E você verá aquele índice.HTML é servido automaticamente. Isso segue a convenção antiga de que a primeira página de qualquer site é nomeada Index, que a maioria dos servidores da Web como Nginx, Apache e até Caddy serve como a primeira página, mesmo quando você não especifica esta página usando /índice.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 https. Para fazer isso, você pode usar a interface da linha de comando ou usar um arquivo de configuração chamado como CaddyFile. Usaremos 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 pedirá seu endereço de e -mail para que você possa obter
Notificação de renovação de certificado da LetSencrypt

Saída:

Ativando os recursos de privacidade…
Seus sites serão servidos por HTTPs automaticamente usando Let's Encrypt.
Ao continuar, você concorda com o contrato de assinante Let's Crypty em:
https: // LetSencrypt.org/documentos/le-sa-v1.2 de novembro-15-2017.pdf
Por favor, insira seu endereço de e -mail para significar contrato e ser notificado
Em caso de questões. Você pode deixar em branco, mas não recomendamos.
Endereço de e -mail: [email protected]
..

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

É tão fácil! Você pode Ctrl+C para interromper o servidor, na próxima vez que 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ê deseja um servidor da Web em execução como um processo de fundo, você precisa escrever um caddyfile e dizer ao servidor da web para usar essa configuração para executar seu servidor.

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

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

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

$ caddy -conf /etc /caddyfile

Existem várias diretivas que você pode usar para ajustar seu servidor. Você pode ativar a extração de madeira, compressão, proxy reverso, etc. A documentação oficial é um bom lugar para começar a procurar 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 servidos:

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

Subdomínio2.exemplo.com
raiz/var/www/mysite2
gzip
log… /acesso.registro

A diretiva GZIP permite a compactação, se o cliente suportar. Isso melhora o desempenho à medida que mais dados podem ser enviados ao longo da largura de banda e o mesmo intervalo de tempo. O registro ajuda na depuração e acompanhamento da atividade da rede.

Conclusão

A maior força do servidor da Web Caddy é seu arquivo de configuração fácil de escrever e ler e sua 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 é de código aberto 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 licença adequada.

Isso nos leva de volta à questão das complicações em que, em vez de lidar com apenas arquivos de configuração, também precisamos lidar com a compilação do código -fonte derrotando o objetivo de ser servidor web fácil de usar. Deixe -nos saber se você tiver alguma opinião sobre o Caddy e se algum de seus sites estiver em cima dele.