Ora che ho installato nginx, devo essere in grado di nascondere le mie directory .git
. Che tipo di riscrittura avrei bisogno di smettere di occhi indiscreti? E dove nel blocco server {}
o http {}
andrebbe?Come nascondi le directory di progetto .git?
risposta
http {
server {
location ~ /\.git {
deny all;
}
}
}
Questa direttiva location
negherà l'accesso a qualsiasi directory .git
in ogni sottodirectory.
Nota: Questo blocco di posizione deve trovarsi prima del blocco di posizione principale, in modo che possa essere valutato per primo.
Ciò impedirà a qualcuno di colpire il http://example.com/.git ma se si lavora in una sottodirectory come questa http://example.com/example/.git avrà esito negativo. Hai davvero bisogno:
location ~ .*/\.git {
deny all;
}
Ho appena provato questo e 'posizione ~/\. {access_log off; log_not_found off; negare tutto; } 'bloccherà l'accesso alle sottodirectory nascoste. Quindi non penso che l'extra '. *' Sia necessario. – chrishiestand
Le directory e i file nascosti non dovrebbero mai essere accessibili via web. La risposta generale alla tua domanda è:
location ~ /\. { return 403; }
Questo nega l'accesso a .git, Svn, .htaccess e file simili in ogni sottodirectory.
Non esattamente quello che la domanda ha chiesto - ma ha ragione comunque :) –
Vorrei andare oltre e dire che nessuno dovrebbe sapere che esistono, punto! (Non solo che dovrebbe sempre essere loro negato l'accesso). Quindi, la tua risposta cambia da "return 403;" a "return 404;" ... In questo modo, l'individuo che tenta di accedervi non saprà se esiste veramente. – Swivel
negare tutto è preferibile rispetto al ritorno 403: https://github.com/h5bp/server-configs/issues/126 – flickerfly
- 1. Come ignoro le directory CVS con Git?
- 2. Git: Come gestire le librerie git nel progetto
- 3. PhpStorm nasconde le directory nella finestra Progetto
- 4. Git sta ignorando le directory .git nelle sottodirectory
- 5. Git checkout/pull non rimuove le directory?
- 6. Git change directory di lavoro
- 7. Git rimuovi directory
- 8. come posso rimuovere le directory vuote in git-svn?
- 9. Git recupera solo una directory
- 10. Come estrarre una directory specifica con git
- 11. Organizzazione directory progetto iOS
- 12. In Jenkins, come eseguire il checkout di un progetto in una directory specifica (utilizzando GIT)
- 13. Bundler mette le mie gemme nella mia directory di progetto
- 14. Utilizzo di Git con il progetto CakePHP
- 15. Trova revisione Git di una directory di lavoro mancante la directory .git
- 16. Come nascondi le chiavi segrete nel codice?
- 17. Android: come nascondi le schede in ActionBar?
- 18. Capistrano carica la directory .git
- 19. "Rilevata radice Git non registrata" perché la directory principale del progetto è versionata da Git
- 20. repository Git con la directory git memorizzata altrove
- 21. nascondi le variabili passate nell'URL
- 22. Come creare un nuovo progetto Meteor in una directory esistente?
- 23. Git non ignorerà una directory
- 24. Directory di sincronizzazione contenenti repository git all'unisono
- 25. Emacs come IDE: gestione di una directory di progetto?
- 26. Progetto RStudio e repository git nella sottodirectory
- 27. Rimuovere la directory '.git' da git repo?
- 28. Nascondi/nascondi le righe di registrazione del codice in Visual Studio
- 29. Come aggiornare la directory in git
- 30. Posso semplicemente copiare .git in un'altra directory?
Funziona se la cartella '.git' si trova in una sottodirectory come'/folder/.git/'? – Xeoncross
Sì, lo fa. "posizione ~" corrisponde * espressione regolare *, non un percorso secondario. – rzab
tenere presente che questo blocco di posizione deve essere il ** primo ** blocco di posizione. altrimenti altri blocchi potrebbero precederlo. nella maggior parte degli scenari viene elaborato un solo blocco di posizione. – dreamlab