Теперь, когда у меня есть настройка nginx, мне нужно иметь возможность скрыть мои .git каталоги.Какой вид переписывания мне понадобится, чтобы перестать любопытно смотреть?И куда в блоке server {} или http {} он пойдет?
.git
server {}
http {}
http { server { location ~ /\.git { deny all; } } }
Эта директива location запрещает доступ к любому каталогу .git в любом подкаталоге.
location
Примечание: Этот блок местоположения должен быть перед вашим основным блоком местоположения, чтобы его можно было сначала оценить.
Скрытые каталоги и файлы никогда не должны быть доступны через Интернет.Общий ответ на ваш вопрос:
location ~ /\. { return 403; }
Это запрещает доступ к файлам .git, .svn, .htaccess и аналогичным файлам в любом подкаталоге.
С другими решениями я мог загрузить /.git/config и другие, просто /.git был защищен. Это запрещает все, начиная с точки, независимо от глубины запрошенного URL:
/.git/config
/.git
location ~ /\.(.*)/?(.*)? { return 404; }
Это не позволит кому-либо нажать http://example.com/.git, но если вы работаете в подкаталоге, подобном этому http://example.com/example/.git, это не удастся.Вам действительно нужно:
location ~ .*/\.git { deny all; }