Salve a tutti, gestisto un imagehosting abbastanza grosso e vorrei ottimizzarlo, uso nginx e centos.....
Vorrei anche limitare l'accesso hotlinking SOLO per alcuni domini...
Qualcuno sa illuminarmi?
grazie
Benvenuto nella nostra community, registra un account gratuito ADESSO!
Oltre 7000 persone hanno già registrato il loro account.
Chiedi aiuto, conversa con aziende ed esperti del settore webhosting italiano.
Iscriviti subito! In meno di 2 minuti!
Salve a tutti, gestisto un imagehosting abbastanza grosso e vorrei ottimizzarlo, uso nginx e centos.....
Vorrei anche limitare l'accesso hotlinking SOLO per alcuni domini...
Qualcuno sa illuminarmi?
grazie
Devi inserire il codice all'interno del file del virtual host di ogni dominio, poi se non ti serve per qualcuno di quelli che hai, ovviamente non inserirlo:Il codice blocca il caricamento delle immagini per chi non aveva fatto prima una visita ad una delle pagine del dominio example.comCodice:iif ($http_referer !~ "^$"){ set $rule_0 1$rule_0; } if ($http_referer !~* "^http://(www\.)?cyberciti.biz/.*$"){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ return 403; break; }
inanzitutto grazie per la risposta, poi un altra cosa....
example.com in questo caso è cyberciti.biz ?
Sì, ho preso un vecchio esempio da cyberciti.biz poi non ho cambiato con example.com
Quindi sarebbe cosi giusto??
Codice:server { listen 80; server_name www.example.com example.com; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/www.example.com; if ($host = 'example.com' ) { rewrite ^/(.*)$ http://www.example.com/$1 permanent; } iif ($http_referer !~ "^$"){ set $rule_0 1$rule_0; } if ($http_referer !~* "^http://(www\.)?example.com/.*$"){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ return open_file_cache max=1024 inactive=600s; open_file_cache_valid 2000s; open_file_cache_min_uses 1; open_file_cache_errors on; #Block bad bot if ($http_user_agent ~* (libwww-perl|libcurl|wget|discobot|Exabot|Casper|kmccrew|plaNETWORK|RPT-HTTPClient)) { return 444; } location ~ .*\.(php|php5)?$ { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; fastcgi_buffers 256 16k; fastcgi_buffer_size 32k; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } log_format www.example.com '$remote_addr - $remote_user [$time_local] $request ' '$status $body_bytes_sent $http_referer ' '$http_user_agent $http_x_forwarded_for'; access_log /home/wwwlogs/www.example.com www.example.com }
Aspetta, la prima parola iif è sbagliata, dovrebbe essere if.
Puoi naturalmente fare degli INVIO dopo ogni }, questo è il codice giusto non quello del precedente post perché il copia incolla è venuto male
if ($http_referer !~ "^$"){
set $rule_0 1$rule_0;
}
if ($http_referer !~* "^http://(www\.)?example.com/.*$"){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
return 403;
break;
}
Comparazione prezzo domini .it, .com, .eu, .net, .org
Tabella che confronta il prezzo dei domini dei principali register italiani e non. Aggiornata tutti i giorni.
ok grazie millee se volessi aggiungere piu domini?
Devi ricreare un file di configurazione per ogni virtual host. Ciò ti da la flessibilità di usare diverse regole per diversi CMS (Wordpress, Drupal...). Se vuoi fare in fretta basta che ricopi il file di configurazione che hai mostrato e cambi i nomi di dominio con quelli dell'altro sito.
Mi sono spiegato male....
Allora questo è il mio hosting immagini : www.immagini.com
questo è il mio sito che lo sfrutta www.blogwordpress.com :: this domain is for sale ( e gli dò l'accesso con quella regoletta )
questo è un altro blog che lo sfrutta www.blog2wordpress.com.... come faccio a dirgli che deve accettarmi hotlink anke da questo?
Secondo me è meglio usare la direttiva valid_referers che si presta molto bene al blocco dell'hotlinking: HttpRefererModule
Quindi nel tuo caso:
Ho assunto che anche tutti i sottodomini dei siti che hai indicato possano usare le immagini in hotlinking così non c'è il problema di gestire anche il www.Codice:location /immagini/ { valid_referers none blocked ~(immagini.com|blogwordpress.com|blog2wordpress.com); if ($invalid_referer) { return 403; } }
Ovviamente al posto di un 403 puoi fare un redirect ad un'immagine col logo del sito.
Se invece hai più location da gestire magari è più comodo gestire il tutto con le varie estensioni (jpeg, png, ecc), vedi tu![]()
Inanzitutto grazie davvero infinite!!!
ho solamente una location quindi è perfetto....
Questo codice su lighttpd come si tradurrebbe?![]()
... per lighttpd nessuno sà nulla?
Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)
Segnalibri