У меня небольшая проблема с изображениями. У меня есть сервер Front (site.com) и сервер Back (api.site.com), оба связаны хранилищем NFS для изображений.
Исходные изображения хранятся на Back сервере.
Фронт-сервер получил только Nginx & NodeJs
Бэк-офис получил только Nginx & PHP
Когда я хочу отобразить изображение: site.com/img/path-to-img-s250x250.jpg
, оно будет искать его в NFS, если оно существует, оно будет отображаться, если нет, затем получить исходное изображение, изменить его размер и сохранить его в NFS через наш PHP-скрипт на сервере API.
Правила переписывания, которые вы мне порекомендовали, будут работать, только если я хочу отображать изображения через API (api.site.com/img/path-to-img-s250x250.jpg
), но мне нужно будет отображать изображения через Front (site.com/img/path-to-img-s250x250.jpg
), есть ли у вас какие-либо идеи? как мне этого добиться?
# site.com/img/prods/10002/filename-w200h200-bgF00.12345.jpg
location ~ "^/img/(.*)/([a-z0-9-]+)-w([0-9]+)h([0-9]+)(-bg([0-9A-Fa-f]{3,6}))?\.[0-9]{5}\.(jpg|jpeg|png|gif|ico|webp)$" {
try_files $uri /img/$1/$2-w$3h$4$5.$7 @redirect;
}
location @redirect {
proxy_pass http://api.site.com;
proxy_set_header X-ORIGIN http://api.site.com;
proxy_set_header X-Requested-With XMLHttpRequest;
}