Nginxを設定したので、.git
ディレクトリを非表示にできるようにする必要があります。詮索好きな目を止めるには、どのような書き直しが必要ですか?そして、server {}
またはhttp {}
ブロックのどこに配置しますか?
http {
server {
location ~ /\.git {
deny all;
}
}
}
このlocation
ディレクティブは、サブディレクトリ内の.git
ディレクトリへのアクセスを拒否します。
注:最初に評価できるように、このロケーションブロックはメインロケーションブロックの前にある必要があります。
非表示のディレクトリおよびファイルは、Webアクセス可能であってはなりません。あなたの質問に対する一般的な答えは:
location ~ /\. { return 403; }
これにより、すべてのサブディレクトリにある.git、.svn、.htaccessおよび類似のファイルへのアクセスが拒否されます。
他のソリューションを使用してダウンロードできました/.git/config
およびその他、/.git
は保護されました。これは、要求されたURLの深さに関係なく、ドットで始まるすべてを拒否します。
location ~ /\.(.*)/?(.*)? {
return 404;
}
これにより、誰かが http://example.com/.git にアクセスするのを防ぎますが、このようなサブディレクトリで作業している場合は http://example.com/example/.git 失敗します。あなたは本当に必要です:
location ~ .*/\.git {
deny all;
}