Tengo un servidor Nginx y deshabilité los archivos ocultos en el nginx_vhost.conf
## Disable .htaccess and other hidden files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Pero LetsEncrypt necesita acceso al .well-known
directorio.
¿Cómo permito el .well-known
directorio y niego los otros archivos ocultos?
nginx
virtualhost
lets-encrypt
Janghou
fuente
fuente
.htaccess
archivos. Tiene archivos de configuración, pero no se llaman.htaccess
ni funcionan igual.Respuestas:
Las otras soluciones no me ayudaron.
Mi solución es incluir una expresión regular negativa para
.well-known
. Su bloque de código debería verse así entonces:Bloqueará todos los archivos de puntos, excepto los que comienzan con
.well-known
PD: También agregaría
return 404;
al bloque.fuente
location ~* /\.(?!well-known\/) {
como se ve en github.com/h5bp/server-configs-nginx/blob/master/h5bp/location/… idéntico a estolocation ~ /\.(?!well-known).* {
?/\.(?!well-known\/)
no es tan expresivo como mi expresión regular (porque bloqueo todos los archivos de puntos excepto los conocidos por definición). Quizás lo mejor sería una combinación como lalocation ~ /\.(?!well-known\/).*
que desbloquea solo el directorio conocido en lugar de un teórico.well-known-blabla
. Pero creo que no hay peligro real en no bloquear un archivo teórico .well-conocido-blabla.Nginx aplica ubicaciones con expresiones regulares en el orden de su aparición en el archivo de configuración.
Por lo tanto, agregar una entrada como esta justo antes de su ubicación actual le ayudará.
fuente
location ~ /\.well-known {
. De cualquier manera, esta debería ser la respuesta aceptada.He proporcionado un tutorial completo paso a paso sobre cómo usar Let's Encrypt with NGINX en mi sitio web.
Las partes clave son:
No necesita oyentes en su bloque https en absoluto, todo se hace en https. Esto es solo para probar que controlas el dominio, no sirve nada privado o secreto.
Guía completa paso a paso vinculada anteriormente.
fuente
Agregue esto (antes o después):
Puede agregar esto también en la parte inferior, porque el
^~
modificador de coincidencia tiene prioridad sobre las expresiones regulares. Ver los documentos .fuente
Si tiene muchos archivos de configuración y ya contienen una denegación en .htaccess como
luego, en lugar de ignorar todos los archivos de puntos , simplemente puede agregar un segundo ignorar para .git con
fuente