Arquivo

Posts Tagged ‘azure’

Let´s Encrypt + Azure > Certificate missing after Azure Pipeline Release

TLDR; My problem was caused by Zip Deploy in Azure Pipeline task named [ Deploy Azure App Service v 4 ]. The version 4 have by default [ zip deploy ] that runs your website inside a zip file, and turns filesystem readonly. Solution: Inside Azure Pipeline task, marks [ X ] select deployment method and set to [ Web Deploy ].

Recently, configuring let´s encrypt on my azure website (Azure, where´s native support for let´s encrypt please?), i´ve followed the instructions to use a combination of ( ohadschn/letsencrypt-webapp-renewer that runs in a webjob/webfunction and uses internally sjkp/letsencrypt-siteextension ).

I´ve configured a main site, with three subdomains.

  • subdomain1.mysite.com
  • subdomain2.mysite.com
  • subdomain3.mysite.com
  • mysite.com

All of them with ssl bindings to their respective custom domains in a Azure WebApp. It is a ASP NET CORE app.

The steps i´ve followed was:

  1. Created the 4 web apps and left them empty.
  2. Created a dedicated web app for certificate renewal following [letsencrypt-webapp-renewer] best practices.
  3. Configured renewer and ran webjob.
  4. Checked my sites, and all of them was sucessfull configured. ✅

Then the surprise: I´ve created a new Azure Pipeline and released a version to my [subdomain1] web app. When i browsed to my web app, what was not my surprise when i found it with an invalid certificate.

When i tried to re-run my certificate renewal web job, it failed with a message: "Could not write to local resource 'D:\home\site\wwwroot\.well-known\acme-challenge\web.config' due to error 'Could not find file 'D:\home\site\wwwroot\.well-known\acme-challenge'.'.","ExceptionMessage":"Could not find file 'D:\home\site\wwwroot\.well-known\acme-challenge'.","ExceptionType":"System.IO.FileNotFoundException","StackTrace":"

Trying several solution paths to this “could ot write” message, i´ve found this blogpost that saved my day, because i was not searching in the right place: Azure App Service: Cannot create directories and write to filesystem when deployed using Azure DevOps

SOLUTION:

  1. At website configurations, remove the [WEBSITE_RUN_FROM_ZIP] setting.
  2. Change the Azure App Service Deploy task to use the traditional deployment method: WebDeploy. (Image 1)

Azure Pipeline, Additional Deployment Options, Deployment method changed to Web Deploy
Image 1: Azure Pipeline: Deploy Azure App Service task > Changing deployment method

Hot it helped!

References:

https://github.com/sjkp/letsencrypt-siteextension/issues/239

https://tomasherceg.com/blog/post/azure-app-service-cannot-create-directories-and-write-to-filesystem-when-deployed-using-azure-devops

Certificados de cliente no RavenDb com VM Linux Ubuntu no Azure

Olá 🙂

Estou a um tempo conhecendo mais o database RavenDb, e evoluindo o entendimento de como montar ambientes com essa plataforma.

Depois de fazer alguns testes com deploy Kubernetes no Azure AKS, parti para um deploy em uma máquina Linux com Ubuntu 16.04 LTS no Azure.

Nesse deploy, após seguir o tutorial, e optar pela configuração segura, usando o certificado do Let’s Encrypt, não consegui com que o certificado gerado automaticamente no setup, funcionasse na minha máquina.

O firefox quantum, aparentemente não aceita certificados sem senha. E mesmo que o certificado esteja armazenado na Vault do sistema operacional MacOs/Windows, ele não utiliza esses certificados pré-instalados. O chrome igualmente, também estava solicitando senha para o certificado gerado automaticamente.

Identificados esses problemas, busquei ajuda no google groups oficial do Raven DB. Uma idéia que lí no grupo, sugeria a geração de um certificado com senha, usando a RAVENDB CLI.

Segui os seguintes passos:

1. Iniciei uma conexão SSH com minha máquina virtual.

ssh -i <arquivo_privatekey_usar> user@host

2. Acessei a pasta onde montei os arquivos do RavenDB (no seu caso o path será diferente).

cd /mntdata/Server

3. Executei o binario da CLI (no windows mude para rvn.exe)

./rvn admin-channel

4. Conectado na CLI gerei um novo certificado de acesso client:

generateClientCert <name> <path-to-output-folder> [password]

5. Esse arquivo será gerado no path que você tiver especificado no output. Agora, vamos copiá-lo para nossa máquina local, de onde faremos acesso ao painel administrativo do RavenDB. Para copiar, usei o comando SCP (secured copy).

Para copiar de uma máquina remota, para a máquina local, a sintaxe é a seguinte:

scp user@host:/path/to/remotefile localfile

Feita essa cópia para a máquina local, basta instalá-lo no seu computador.

E eis nosso painel administrativo executando:

RavenDbAdminPanel

RavenDb – Painel administrativo

 

Para registrar o certificado explicitamente no Firefox, siga os seguintes passos:

1. No Firefox, vá em Preferências.

2. Procure por Certificados.

3. Na aba “Seus certificados”, clique em Import.

4. Localize o arquivo .pfx e confirme a operação.

5. Reinicie o firefox.

 

Viagem e Voo

Dicas para viagens, férias e voos nacionais e internacionais

Ivan Guimarães Meirelles

Analista Desenvolvedor

Void Podcast

Vazio e sem retorno de valor

Elemar DEV

Negócios, tecnologia e desenvolvimento

2,000 Things You Should Know About WPF

Everything a WPF Developer Needs to Know, in Bite-Sized Chunks

Gabriel RB.net

Blog técnico, com dicas, códigos, novidades e problemas do dia-a-dia programando.

Alexandre Valente's Blog

Experiências em tecnologia e assuntos diversos

%d blogueiros gostam disto: