Tôi đang cố gắng thiết lập nginx để "static.domain.com" chỉ có thể phân phối hình ảnh. Đây là những gì tôi đã đưa ra, nhưng tôi biết nó có thể được thực hiện hiệu quả hơn. Tôi muốn phục vụ 403.html nếu ai đó cố gắng truy cập mọi tệp .htm, .php, thư mục (bất kỳ thứ gì khác tôi bị thiếu?). Tất nhiên, ngoại trừ 403.htm và tệp static.htm.nginx - chỉ phục vụ hình ảnh
Bất kỳ ý tưởng nào về cách tôi có thể bảo mật thông tin này đúng cách?
server {
listen xx.xx.xx.xx:80;
server_name static.domain.com;
root /www/domain.com/httpdocs;
index static.htm;
access_log off;
error_log /dev/null crit;
error_page 403 /403.html;
# Disable access to .htaccess or any other hidden file
location ~ /\.ht {
deny all;
}
location ~* \.php {
deny all;
}
# Serve static files directly from nginx
location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) {
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 7d;
}
}
Thật đơn giản? không có gì khác là cần thiết? –
Nên, tất nhiên tôi sẽ kiểm tra nó để chắc chắn là tôi đã không chạy những gì tôi đã viết ở đó. Vị trí ~ * \. (Jpg | jpeg | gif | png ...) khớp với tất cả các loại được liệt kê ở đó tách biệt với các đường ống, nếu không thì nó sẽ khớp với "/" vì "/" khớp với mọi thứ. –
Ok, điều này sẽ không hoạt động vì trong FireFox, bất kỳ tệp .php nào được truy cập đều cho phép người dùng tải xuống tệp (hiển thị lời nhắc tải xuống). –