2010-06-08 27 views
45

Bây giờ tôi đã thiết lập nginx tôi cần để có thể ẩn các thư mục .git của mình. Tôi cần phải viết lại loại nào để ngăn chặn đôi mắt tò mò? Và ở đâu trong khối server {} hoặc http {} nó sẽ đi?Làm cách nào để ẩn thư mục dự án .git?

Trả lời

61
http { 
    server { 
    location ~ /\.git { 
     deny all; 
    } 
    } 
} 

chỉ location này sẽ từ chối quyền truy cập vào bất kỳ thư mục .git trong bất kỳ thư mục con.

Lưu ý: Khối vị trí này phải ở trước khối vị trí chính của bạn, để nó có thể được đánh giá trước tiên.

+0

Tính năng này có hoạt động nếu thư mục '.git' nằm trong thư mục con như'/folder/.git/'không? – Xeoncross

+2

Vâng, đúng vậy. "location ~" khớp với * biểu thức chính quy *, không phải là đường dẫn con. – rzab

+0

lưu ý rằng khối vị trí này phải là khối vị trí ** đầu tiên **. nếu không thì các khối khác có thể đứng trước nó. trong hầu hết các trường hợp, chỉ một khối vị trí được xử lý. – dreamlab

1

Điều này sẽ ngăn người khác chạm vào số http://example.com/.git nhưng nếu bạn làm việc trong thư mục con như thế này http://example.com/example/.git thì sẽ không thành công. Bạn thực sự cần:

location ~ .*/\.git { 
    deny all; 
} 
+2

Tôi vừa kiểm tra điều này và 'vị trí ~/\. {access_log off; log_not_found tắt; Phủ nhận tất cả; } 'sẽ chặn truy cập vào các thư mục con ẩn. Vì vậy, tôi không nghĩ rằng thêm '. *' Là cần thiết. – chrishiestand

43

Thư mục và tệp ẩn sẽ không bao giờ truy cập được trên web. Câu trả lời chung cho câu hỏi của bạn là:

location ~ /\. { return 403; } 

Điều này từ chối truy cập vào .git, .svn, .htaccess và các tệp tương tự trong bất kỳ thư mục con nào.

+0

Không chính xác những gì câu hỏi được yêu cầu - nhưng anh ấy đúng anyway :) –

+19

Tôi sẽ đi xa hơn và nói rằng không ai nên biết họ tồn tại, thời gian! (Không chỉ là họ nên luôn luôn bị từ chối truy cập vào chúng). Do đó, câu trả lời của bạn thay đổi từ 'return 403;' thành 'return 404;' ... Bằng cách này, cá nhân cố gắng truy cập nó sẽ không biết nếu nó thực sự tồn tại. – Swivel

+4

từ chối tất cả được ưu tiên hơn 403: https://github.com/h5bp/server-configs/issues/126 – flickerfly

Các vấn đề liên quan