Ahora que tengo la configuración nginx necesito poder ocultar mis directorios .git
. ¿Qué tipo de reescritura necesitaría para dejar de curiosear? ¿Y dónde en el bloque server {}
o http {}
iría?¿Cómo se ocultan los directorios de proyectos .git?
Respuesta
http {
server {
location ~ /\.git {
deny all;
}
}
}
Este location
Directiva denegará el acceso a cualquier directorio .git
en cualquier subdirectorio.
Nota: Este bloque de ubicación debe estar antes de su bloque de ubicación principal, para que pueda ser evaluado primero.
Esto evitará que alguien golpee el http://example.com/.git, pero si trabaja en un subdirectorio como este http://example.com/example/.git, fallará. Que realmente necesita:
location ~ .*/\.git {
deny all;
}
Acabo de probar esto y 'ubicación ~/\. {access_log off; log_not_found off; negar todo; } 'bloqueará el acceso a subdirectorios ocultos. Así que no creo que el '. * .' extra sea necesario. – chrishiestand
directorios y archivos ocultos nunca debe ser accesible desde la web. La respuesta general a su pregunta es:
location ~ /\. { return 403; }
Esto niega el acceso a .git, Svn, .htaccess y archivos similares en cualquier subdirectorio.
No es exactamente lo que preguntó la pregunta, pero tiene razón de todos modos :) –
Iría más lejos y diría que nadie debería saber que existen, punto! (No solo que siempre se les debería denegar el acceso a ellos). Por lo tanto, su respuesta cambia de 'return 403;' a 'return 404;' ... De esta forma, el individuo que intente acceder a ella no sabrá si realmente existe. – Swivel
negar todo es preferible a la devolución 403: https://github.com/h5bp/server-configs/issues/126 – flickerfly
- 1. Git está ignorando los directorios .git en los subdirectorios
- 2. Git: ¿cómo ignorar los directorios ocultos?
- 3. ¿Cómo se ocultan dinámicamente los campos de formulario en Django?
- 4. ¿Se supone que los constructores variados ocultan los generados implícitamente?
- 5. Proyectos dentro de proyectos usando Git
- 6. ¿Cómo ignoro los directorios de CVS con Git?
- 7. ¿Los métodos de extensión ocultan las dependencias?
- 8. Proyectos de Git con código común
- 9. Git: ¿Cómo ignoro los directorios coincidentes en un subdirectorio?
- 10. ¿Cómo se ocultan las barras de menú de WPF DocumentViewer?
- 11. ¿Cómo se muestran y ocultan las preferencias en Android dinámicamente?
- 12. Android: ¿Cómo se ocultan las pestañas en ActionBar?
- 13. ¿Cómo se ocultan todas las imágenes con javascript?
- 14. ¿Cómo se ignoran los directorios cuando se ejecuta Django collectstatic?
- 15. ¿Cómo se ocultan las claves secretas en el código?
- 16. Submódulos de Git: excluir archivos/directorios específicos
- 17. Git ignora el archivo para los proyectos de Xcode 4
- 18. Diseño de directorios de paquetes y proyectos de Python
- 19. ¿Cómo se especifican los directorios log y pid de daemon?
- 20. error: fatal: No es un repositorio git (o cualquiera de los directorios padre): .git
- 21. Desarrollando proyectos de Django usando Git
- 22. github workflow - fatal: no es un repositorio git (ni ninguno de los directorios principales): .git
- 23. ¿Cuántos proyectos svn en un repositorio git?
- 24. Git - Almacenar sucursales en directorios locales separados
- 25. Jquery - Cómo detectar si los elementos se ocultan por un desbordamiento: oculto; ¿envase?
- 26. ¿Cómo se gestionan los proyectos de código abierto
- 27. ¿Cómo se organizan los grandes proyectos de clojure?
- 28. Usando git en proyectos de iPhone
- 29. Organización de proyectos usando Maven + Git
- 30. Git ignora el archivo para los proyectos C
¿Funciona esto si la carpeta '.git' está en un subdirectorio como'/folder/.git/'? – Xeoncross
Sí, lo hace. "ubicación ~" coincide con * expresión regular *, no con una ruta secundaria. – rzab
tenga en cuenta que este bloque de ubicación debe ser el ** primer ** bloque de ubicación. de lo contrario, otros bloques podrían precederlo. en la mayoría de los escenarios solo se procesa un bloque de ubicación. – dreamlab