Mewn bron unrhyw raglen we sy'n defnyddio delweddau, mae angen creu copïau bach o'r delweddau hyn, ac yn aml mae sawl fformat ar gyfer delweddau ychwanegol.
Mae ychwanegu dimensiynau newydd i gymhwysiad presennol hefyd yn achosi rhai cur pen. Dyna pam y dasg:
Gorchwyl
Gadewch i ni nodi'r rhestr o ofynion:
Cynhyrchu delweddau ychwanegol o unrhyw fformat ar y hedfan heb gyflwyno ymarferoldeb ychwanegol i'r rhaglen ar unrhyw adeg yn ystod bodolaeth y rhaglen;
Nid oes angen cynhyrchu delweddau ychwanegol ar bob cais;
Analluoga'r gallu i gynhyrchu delweddau ychwanegol o fformatau amhenodol.
Esboniaf y pwynt olaf, oherwydd mae’n gwrth-ddweud y pwynt cyntaf ychydig. Os byddwn yn gwneud y genhedlaeth o unrhyw ddelweddau yn agored, yna mae posibilrwydd o ymosodiad ar y wefan trwy gynhyrchu nifer fawr o geisiadau i newid maint y ddelwedd i nifer anfeidrol o fformatau, felly mae angen cau'r bregusrwydd hwn.
cyfluniad gosod nginx
I ddatrys y gofynion uchod mae angen y set ganlynol o fodiwlau nginx arnom:
Modiwlau ngx_http_image_filter_modiwl и ngx_http_secure_link_modiwl heb eu gosod yn ddiofyn, felly mae'n rhaid eu nodi yn y cam ffurfweddu gosod nginx:
Rydym yn ychwanegu un newydd at ein cyfluniad gwesteiwr lleoliad a pharamedrau storfa cyffredinol:
...
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;
}
Er y byddwn hefyd yn argymell cyfrifo'r meintiau rhagolwg.
Rake
Wrth ddileu'r ddelwedd wreiddiol, ni fydd rhagolygon, yn naturiol, yn cael eu dileu o'r storfa nes bod y storfa'n annilys, ac yn ein hachos ni, gall rhagolygon fodoli diwrnod ar ôl eu dileu, ond dyma'r amser mwyaf posibl.