nginx - servir uniquement les images
Je suis en train de configuration de nginx donc "static.domain.com" ne peut que servir les images. C'est ce que je suis venu avec, mais je sais que cela peut être fait de manière plus efficace. Je veux le servir 403.html si quelqu'un tente d'accéder à tout .htm, .php, répertoire (autre chose que je suis absent?) les fichiers. Bien sûr, à l'exception de 403.htm et static.htm les fichiers.
Des idées comment je peut le faire correctement?
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;
}
}
OriginalL'auteur Brian Smith | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas déplacer les images, puis à les nier?
Edit: Supprimé "=" de "/emplacement"
Pour citer les docs:
Mon mauvais.
Doit être, bien sûr, j'ai tester pour être sûr que je n'ai pas couru ce que j'ai écrit là. L'emplacement ~* \.(jpg|jpeg|gif|png...) correspond à tous les types qui y sont énumérés, séparées par des tuyaux, si ce n'est pas le cas, elle correspond à "/" depuis "/" correspond à tout.
Ok, cela ne marchera pas, parce que dans FireFox, tout .fichier php qui est accessible permet à l'utilisateur de télécharger le fichier (montre invite de téléchargement).
Pas de ça marche. J'utilise cette config moi-même (sauf que j'ai de redirection de mon domaine au lieu de la nier). Php ext frappé le deuxième emplacement et obtenir refusé. Ce qui est manquant dans votre config est un "$" à la fin de la permis statique extensions.
Désolé, je pensais que je commente quand j'ai lu cela, j'ai corrigé la faute de frappe du "=" dans mon original. Cochez la case modifier. 🙂
OriginalL'auteur Andrew T