Attachment Improvements By Xon

Attachment Improvements By Xon 2.6.1

Нет прав для скачивания
Q. Электронные теги вложений отображаются с префиксом «W/»
A. Ожидается, что это зависит от конфигурации CDN/веб-сервера. Это дополнение реализует обходной путь для поддержки этого.

Было замечено, что Cloudflare добавляет W/ к некоторым eTag, чтобы преобразовать их из сильного eTag в слабое eTag.

Q. Etags вложений больше не заключаются в кавычки, как стандартные eTags XenForo
A. Убедитесь, что путь internal_data имеет (в зависимости от точной конфигурации nginx):

Код:
add_header Etag $upstream_http_etag;

В. После использования DigitalOcean Spaces или Amazon S3 для хранения файлов в XF 2.x вложения больше не отображаются.

A. Для включения X-Accel-Redirect при использовании DigitalOcean Spaces или Amazon S3 требуется дополнительная настройка

. Необходимо internalDataUrl добавить раздел l, config.php как externalDataUrl описано в руководстве.

Код:
$config['internalDataUrl'] = function($externalPath, $canonical)
{
    return 'internal_data_s3/https://xftest.ams3.digitaloceanspaces.com/internal_data/' . $externalPath;
};

Конфиг nginx должен быть обновлен новым internal_data_s3 блоком;

Код:
location ~* /internal_data_s3/(.*?)://(.*?)/(.*) {
    internal;
    set $xfEtag $upstream_http_etag;
    set $download_protocol $1;
    set $download_host $2;
    set $download_path $3;
    set $download_url $download_protocol://$download_host/$download_path;

    resolver 127.0.0.1 ipv6=off;
    proxy_set_header Host $download_host;
    proxy_set_header Authorization '';
    proxy_set_header Cookie '';
    proxy_max_temp_file_size 0;
    proxy_intercept_errors on;
    error_page 301 302 307 = @handle_redirect;

    proxy_ssl_server_name on;
    proxy_pass $download_url$is_args$args;

    proxy_hide_header Content-Disposition;
    proxy_hide_header Content-Type;
    proxy_hide_header Etag;
    proxy_hide_header x-amz-request-id;

    add_header Etag $xfEtag;
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
}

location @handle_redirect {
   resolver 127.0.0.1 ipv6=off;
   set $saved_redirect_location '$upstream_http_location';
   proxy_pass $saved_redirect_location;
}

Чтобы реализовать кеширование прокси, см.
Назад
Сверху Снизу