Как отключить доступ к файлу /.git/config в контейнере docker

#git #docker #nginx

Вопрос:

Я попытался добавить следующую конфигурацию в nginx.conf.

Доступ к http://ip_address:port/.git запрещено, в то время как http://ip_address:port/.git/config по-прежнему доступен.

 server {
    location ~ /.git
    {
        deny all;
    }
}
 

Ответ №1:

Вам нужно привязать выражение к началу URI с помощью ^ :

 server {
    # Deny any URI beginning with /.git
    location ~ ^/.git { deny all; }
}
 

Вы также можете добиться того же самого вообще без регулярных выражений:

 server {
    # Deny any URI beginning with /.git
    location /.git { deny all; }
}
 

Использование регулярных выражений имеет больше смысла, когда вам нужен общий шаблон, например gif , расположение jpg jpeg файлов, и:

 server {
  location ~* .(gif|jpg|jpeg)$ {
    # some cache settings
  }
}