Как скрыть каталоги проекта .git? - PullRequest
52 голосов
/ 08 июня 2010

Теперь, когда у меня есть настройка nginx, мне нужно иметь возможность скрыть мои .git каталоги.Какой вид переписывания мне понадобится, чтобы перестать любопытно смотреть?И куда в блоке server {} или http {} он пойдет?

Ответы [ 4 ]

66 голосов
/ 08 июня 2010
http {
  server {
    location ~ /\.git {
      deny all;
    }
  }
}

Эта директива location запрещает доступ к любому каталогу .git в любом подкаталоге.

Примечание: Этот блок местоположения должен быть перед вашим основным блоком местоположения, чтобы его можно было сначала оценить.

48 голосов
/ 15 сентября 2013

Скрытые каталоги и файлы никогда не должны быть доступны через Интернет.Общий ответ на ваш вопрос:

  location ~ /\.  { return 403; }

Это запрещает доступ к файлам .git, .svn, .htaccess и аналогичным файлам в любом подкаталоге.

3 голосов
/ 28 июля 2018

С другими решениями я мог загрузить /.git/config и другие, просто /.git был защищен. Это запрещает все, начиная с точки, независимо от глубины запрошенного URL:

location ~ /\.(.*)/?(.*)? {
    return 404;
}
1 голос
/ 24 июля 2013

Это не позволит кому-либо нажать http://example.com/.git, но если вы работаете в подкаталоге, подобном этому http://example.com/example/.git, это не удастся.Вам действительно нужно:

location ~ .*/\.git {
    deny all;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...