Sto provando a configurare nginx in modo che "static.domain.com" possa servire solo immagini. Questo è quello che ho trovato, ma so che può essere fatto in modo più efficiente. Voglio servire 403.html se qualcuno cerca di accedere a qualsiasi file .htm, .php, directory (qualsiasi altra cosa mi manca?). Certamente, ad eccezione dei file 403.htm e static.htm.nginx - serve solo immagini
Qualche idea su come potermi proteggere correttamente?
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;
}
}
È così semplice? non serve altro? –
Dovrebbe essere, ovviamente, lo testerei per essere sicuro perché non ho eseguito ciò che ho scritto lì. La posizione ~ * \. (Jpg | jpeg | gif | png ...) corrisponde a tutti i tipi elencati qui separati con pipe, in caso contrario, corrisponderà a "/" poiché "/" corrisponde a tutto. –
Ok, questo non funzionerà perché in FireFox, qualsiasi file .php a cui si accede consente all'utente di scaricare il file (mostra prompt di download). –