Fi kważi kull applikazzjoni tal-web li tuża immaġini, hemm bżonn li jinħolqu kopji żgħar ta 'dawn l-immaġini, u ħafna drabi jkun hemm diversi formati għal immaġini addizzjonali.
Iż-żieda ta 'dimensjonijiet ġodda għal applikazzjoni eżistenti tikkawża wkoll xi uġigħ ta' ras. Għalhekk il-kompitu:
Kompitu
Ejja nindikaw il-lista tar-rekwiżiti:
Iġġenera immaġini addizzjonali ta 'kwalunkwe format fuq il-fly mingħajr ma tintroduċi funzjonalità addizzjonali fl-applikazzjoni fi kwalunkwe ħin matul l-eżistenza tal-applikazzjoni;
Immaġini addizzjonali m'għandhomx għalfejn jiġu ġġenerati fuq kull talba;
Iddiżattiva l-abbiltà li tiġġenera immaġini addizzjonali ta 'formati mhux speċifikati.
Se nispjega l-aħħar punt, għax jikkontradixxi xi ftit l-ewwel punt. Jekk nagħmlu l-ġenerazzjoni ta 'kwalunkwe immaġini miftuħa, allura hemm il-possibbiltà ta' attakk fuq is-sit billi niġġenera numru kbir ta 'talbiet biex l-immaġini terġa' d-daqs f'numru infinit ta 'formati, għalhekk din il-vulnerabbiltà trid tingħalaq.
konfigurazzjoni tal-installazzjoni nginx
Biex insolvu r-rekwiżiti ta 'hawn fuq għandna bżonn is-sett ta' moduli nginx li ġej:
Moduli ngx_http_image_filter_module и ngx_http_secure_link_module mhumiex installati awtomatikament, għalhekk għandhom jiġu speċifikati fl-istadju tal-konfigurazzjoni tal-installazzjoni nginx:
Aħna nżidu waħda ġdida mal-konfigurazzjoni ospitanti tagħna lokazzjoni u parametri ġenerali tal-cache:
...
proxy_cache_path /www/myprojects/cache levels=1:2 keys_zone=image-preview:10m;
...
server {
...
location ~ ^/preview/([cir])/(.+) {
# Тип операции
set $oper $1;
# Параметры изображения и путь к файлу
set $remn $2;
# Проксируем на отдельный хост
proxy_pass http://myproject.ru:81/$oper/$remn;
proxy_intercept_errors on;
error_page 404 = /preview/404;
# Кеширование
proxy_cache image-preview;
proxy_cache_key "$host$document_uri";
# 200 ответы кешируем на 1 день
proxy_cache_valid 200 1d;
# остальные ответы кешируем на 1 минуту
proxy_cache_valid any 1m;
}
Għalkemm nirrakkomanda wkoll li tikkalkula d-daqsijiet preview.
Rake
Meta tħassar l-immaġni oriġinali, previews, naturalment, mhux se jitħassru mill-cache sakemm il-cache jiġi invalidat, u fil-każ tagħna, previews jistgħu jeżistu għal jum wara t-tħassir, iżda dan huwa l-ħin massimu.