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 pessoaisFeito isso, podemos localizar o binário, executando:
$ whereis caddiecaddy: / 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.htmlEsta 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:
$ caddyAtivando 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.comroot / 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 / CaddyfileExistem 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.comroot / 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.