Рейтинг:0

Nginx не будет обслуживать изображения с правильными заголовками (приведен пример + конфигурация)

флаг ec

Вот пример изображения, которое отображается неправильно:

https://www.questionhosting.com/product/temp.jpg

вот мой конфиг

сервер {
    слушать 80;
    слушать 443 ssl;
    слушать [::]:80 по умолчанию ipv6only=on;
    слушать [::]:443 ssl ipv6only=on;

    имя_сервера questionhosting.com;
    ssl_certificate /etc/nginx/ssl/ssl.crt;
    ssl_certificate_key /etc/nginx/ssl/ssl.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    корень /var/www/public;
    индекс index.php index.html index.htm;

    # Отключить файл отправки согласно https://docs.vagrantup.com/v2/synced-folders/virtualbox.html.
    отправка файла выключена;

    # Добавить логирование стандартного вывода
# error_log /dev/stdout info;
# журнал_доступа /dev/stdout;
    error_log /var/log/nginx/error.log предупреждение;
    журнал_доступа /var/log/nginx/access.log основной;

    # Добавить опцию для x-forward-for (реальный ip за локтем)
    #real_ip_header X-Forwarded-For;
    #set_real_ip_from 172.16.0.0/12;

    # Скрыть ВСЕ скрытые вещи.
    расположение ~/\. {
        вернуть 403;
    }

    # Прямая доставка определенных файлов
    расположение ^~ ^\/(шаблон|плагин|продукт|блок|модуль).+\.(css|js|jpeg|gif|png|jpg){
        включить /etc/nginx/mime.types;
        доступ_лог выключен;
        add_header Cache-Control "public";
        add_header Прагма "общедоступная";
        истекает 30 дней;
        log_not_found выключен;
        tcp_nodelay выключен;
        try_files $uri = 404;
    }

    место расположения / {
        включить /etc/nginx/mime.types;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        fastcgi_read_timeout 1200;
        включить fastcgi_params;
# fastcgi_pass fpm;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_pass cryptoweighter.questiondevelopment.com:9000;



        # Сначала пытаемся обслуживать файл, затем как каталог, затем возвращаемся к маршрутизации по основному файлу index.php
        try_files $uri $uri/ /index.php?$query_string;
    }
}

Моя цель состояла в том, чтобы напрямую загрузить определенные расширения файлов, которые находились только в определенных папках. Остальные запросы я хотел отправить в /var/www/public/index.php для обработки этим файлом. Этот конфиг работал на другом моем сервере, но когда я перенес его сюда, он остановился. Любая помощь будет оценена по достоинству.

Richard Smith avatar
флаг jp
У вас опечатка в выражении `location`. Он должен использовать `~` или `~*`, а **не** `^~`, что означает совершенно другое.
hendr1x avatar
флаг ec
Спасибо @RichardSmith. Вот оно. Если вы хотите получить кредит, отправьте ответ, и я отмечу правильный. В любом случае, я ценю вашу помощь

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.