Estoy tratando de pasar de los certificados autofirmados a los certificados Let's Encrypt en mi servidor web nginx.
Actualmente, vuelvo a dirigir todas las solicitudes de http/80a https/443, que utiliza un certificado firmado creé hace un tiempo.
Ahora, por lo que entiendo, Let's Encrypt realiza una solicitud al puerto 80 (ya que estoy usando la webrootopción de certbot). Estas solicitudes se redirigen, lo que hace que la generación del certificado no tenga éxito.
Traté de lograr esto con el siguiente bloque de servidor, escuchando en el puerto 80:
server {
listen 80;
server_name sub.domain.tld;
server_tokens off;
location /.well-known {
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
Pero las solicitudes a /.well-knownse redirigen a de https/443todos modos.
¿Cómo puedo redirigir todas las solicitudes de http/80a https/443, excepto las solicitudes a /.well-known/?

webrootdecertbotopción requiere llanura http.wget/curlRespuestas:
Prueba esto:
Como no había ninguna
try_filesentrada en su servidor virtual, no sabía qué hacer con las solicitudes que se recibían/.well-known.fuente
locationsintry_filessolo envía el archivo desde elrootdirectorio.try_filesy funciona perfectamente bien para mí. De hecho, tengo exactamente la misma configuración que se indica en la pregunta. La única diferencia es enlocation /.well-known/lugar delocation /.well-known(tenga en cuenta la barra diagonal final). Entonces, ¿quizás ahí es donde está el problema?