.htaccess — перенаправление plesk, nginx + apache htaccess для создания изображения из php при настройке заголовка ETag

В настоящее время у меня есть сайт по установке Plesk Onyx, использующий apache + nginx в качестве обратного прокси.
Этот веб-сайт обслуживает изображения, обрабатывая их в соответствии с вызываемым URL, например:

http://sub.domain.com/800/600/crop/filename.jpg

обрезает изображение filename.jpg в разрешении 800х600.

Это делается с помощью .htaccess файл, который перенаправляет запрос в скрипт php:

RewriteRule ^([0-9]+)/([0-9]+)/([^/]+)/([a-zA-Z0-9\-\._]+)$ process-image.php?w=$1&h=$2&method=$3&filename=$4

Теперь меня попросили вернуть ETag заголовок или пара Last-modified + Content-length, но кажется, что я не могу написать какой-либо дополнительный заголовок.

Я уже выполнил несколько руководств по включению etag в nginx, но безуспешно. На самом деле, etag добавлен для статический файлы, т. е. JPEG хранятся на сервере, но не для тех, которые создаются на лету.

Я также попытался вручную добавить Etag (и / или другие пользовательские заголовки), но они, кажется, сорваны при отправке ответа.

Проблема существует и на установке виртуальной машины laravel с помощью nginx на виртуальной машине … Заголовок ответа не может быть установлен во время выполнения из php-скрипта, кажется.

Это моя конфигурация nginx, связанная с поддоменом:

server {
listen 255.255.255.255:80;

server_name sub.domain.com;
server_name www.sub.domain.com;
server_name ipv4.sub.domain.com;

client_max_body_size 128m;

root "/var/www/vhosts/domain.com/subdomains/sub";
access_log "/var/www/vhosts/system/sub.domain.com/logs/proxy_access_log";
error_log "/var/www/vhosts/system/sub.domain.com/logs/proxy_error_log";

#extension letsencrypt begin
location /.well-known/acme-challenge/ {
root /var/www/vhosts/default/htdocs;

types { }
default_type text/plain;

satisfy any;
auth_basic off;
allow all;

location ~ ^/\.well-known/acme-challenge.*/\. {
deny all;
}
}
#extension letsencrypt end

location / {
proxy_pass http://255.255.255.255:7080;
proxy_set_header Host             $host;
proxy_set_header X-Real-IP        $remote_addr;
proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header X-Accel-Internal /internal-nginx-static-location;
access_log off;
}

location /internal-nginx-static-location/ {
alias /var/www/vhosts/domain.com/subdomains/sub/;
internal;
}

location ~ ^/(plesk-stat|awstats-icon|webstat|webstat-ssl|ftpstat|anon_ftpstat) {
proxy_pass http://255.255.255.255:7080;
proxy_set_header Host             $host;
proxy_set_header X-Real-IP        $remote_addr;
proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header X-Accel-Internal /internal-nginx-static-location;
access_log off;
}

add_header X-Powered-By PleskLin;

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]