Tôi đang chạy một máy chủ web Apache thử nghiệm chỉ để giải trí. Một phần của ý tưởng đằng sau máy chủ này là nó nên được mở một cách bất thường cho công chúng; ví dụ, hệ thống tập tin gốc nên được mở cho bất kỳ ai duyệt. (Thật vậy, đây là: http://sylvester.s.zbasu.net/rootfs/ ) Hậu quả là an ninh sẽ ngồi ở ghế sau.
Điều đó nói rằng, có những thứ mà Apache sẽ có thể truy cập, nhưng công chúng thì không. Ví dụ mà tôi đang chạy vào là một trang web Django. Tập tin settings.py
phải được đọc bởi Apache, nếu không Django sẽ không hoạt động. Nhưng settings.py
công chúng không thể đọc được, vì nó chứa một khóa bí mật. Vì vậy, tập tin nên được sở hữu bởi www-data
, nhưng Apache vẫn nên từ chối phục vụ nó.
Một giải pháp khả thi (nhờ ellipsis753
trên Freenode) là tạo một lệnh đặc biệt, có lẽ trong một .htaccess
tệp, bảo Apache không phục vụ tệp này. Tuy nhiên, tôi cho rằng nếu một tệp không thể đọc được bởi tất cả người dùng thì có lẽ nó cũng không nên được phục vụ bởi Apache.
Tôi có thể nói với Apache rằng nếu một tệp không thể đọc được trên thế giới thì nó không nên được phục vụ?
WSGIProcessGroup
Chỉ thị là tốt. Vì một số lý do, tôi cũng phải chỉnh sửawsgi.py
để thêm thư mục dự án vàosys.path
, như được mô tả trong câu trả lời StackOverflow này: stackoverflow.com/a/4750766/1108505 Tôi không biết tại sao điều này lại cần thiết khi sử dụngWSGIDaemonProcess
nhưng không cần thiết khác.