Включение поддержки webp на обратном прокси Nginx+Apache с помощью moss.sh

Здравствуйте, я ломаю голову последние несколько часов, но не могу найти надежный источник для решения следующей проблемы.

На самом деле, я пытаюсь настроить WP Smush (или любой другой плагин webp) с поддержкой webp на Nginx + apache reverse proxy stack установленный мой moss.sh.
Но, во время установки ни правила перезаписи для apache или для nginx, кажется, работает. После изучения некоторых источников в Интернете, я узнал, что фактически nginx обслуживает все статические файлы и игнорирует все перенаправления, установленные в htaccess.

В документации WP Smush говорится,

«Если на вашем сервере используется NGINX в качестве прокси для Apache, правила Apache/Litespeed могут не работать в .htaccess, и вам придется добавить правила NGINX вручную.

Если на вашем сервере используется гибридная конфигурация с NGINX и Apache (например, Cloudways или Nexcess), ваши изображения, скорее всего, будут кэшироваться и обслуживаться через NGINX. Поэтому, чтобы использовать функцию Local WebP в Smush, вам необходимо внести следующие изменения:

Исключите расширения изображений из правил NGINX, чтобы эти файлы теперь обслуживались через Apache.
В Smush перейдите на страницу Local WebP и следуйте указаниям мастера настройки, чтобы добавить правила Apache.
Очистите весь кэш и обновите страницу.
После того как правила преобразования WebP будут настроены, нажмите Проверить статус. «

После поиска в Интернете «Исключить расширение изображения для отключения» я получил следующую конфигурацию.

    location / {
        location ~.*.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff|ttf|svg|eot|sh|webp)$ {
            root /home/superuser/public_html/notworkingexample.hu;
            expires max;
            try_files $uri $uri/ @backend;
        }
Войти в полноэкранный режим Выйти из полноэкранного режима

И просит исключить расширения png, jpeg, jpg, webp из конфига, чтобы исключить их. Но я не могу найти такую запись в моем конфигурационном файле nginx.

Ниже приведен мой файл конфигурации Nginx:

server {
    listen 80;
    listen [::]:80;
    server_name www.tricks.nayag.com;

    access_log /usr/local/openresty/nginx/logs/tricks.access;
    error_log /usr/local/openresty/nginx/logs/tricks.error error;

    location /.well-known/acme-challenge/ {
      content_by_lua_block {
        auto_ssl:challenge_server()
      }
    }
    location / {
        return 301 http://tricks.nayag.com$request_uri;
    }
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.tricks.nayag.com;

    access_log /usr/local/openresty/nginx/logs/tricks.access;
    error_log /usr/local/openresty/nginx/logs/tricks.error error;

    ssl_certificate_by_lua_block {
      auto_ssl:ssl_certificate()
    }
    ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt;
    ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key;    


    return 301 $scheme://tricks.nayag.com$request_uri;
}    
server {
    listen 80;
    listen [::]:80;
    server_name tricks.nayag.com;

    access_log /usr/local/openresty/nginx/logs/tricks.access;
    error_log /usr/local/openresty/nginx/logs/tricks.error error;

    location /.well-known/acme-challenge/ {
      content_by_lua_block {
        auto_ssl:challenge_server()
      }
    }

    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name tricks.nayag.com;

    access_log /usr/local/openresty/nginx/logs/tricks.access;
    error_log /usr/local/openresty/nginx/logs/tricks.error error;

    ssl_certificate_by_lua_block {
      auto_ssl:ssl_certificate()
    }
    ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt;
    ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key;    



    include server_params.tricks;

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $original_scheme;
    include root_params.tricks;
}
    location ~ /.ht {
        deny all;
    }
}

Войти в полноэкранный режим Выйти из полноэкранного режима

И два других включенных файла конфигурации: —

server_params.tricks

# Extra nginx params to be included in this site managed by Moss
#  all directives below will be included within 'server' blocks
#  common configs that you might want to fine-tune are given


# Core module
# https://nginx.org/en/docs/http/ngx_http_core_module.html
#

client_max_body_size 128m;


# Gzip module
# https://nginx.org/en/docs/http/ngx_http_gzip_module.html
#

gzip on;
gzip_disable "msie6";
gzip_comp_level 5;
gzip_min_length 256;
gzip_types application/javascript application/rss+xml application/x-javascript application/xhtml+xml application/xml text/css text/javascript text/plain text/xml;

Ввести полноэкранный режим Выйти из полноэкранного режима

root_params.tricks

# Extra nginx params to be included in this site managed by Moss
#  all directives below will be included within 'location /' blocks

# rewrite ^/users/(.*)$ /show?user=$1? last;
# rewrite_log off;

Ввести полноэкранный режим Выйти из полноэкранного режима

Любая помощь будет принята с благодарностью.

PS: Если это имеет значение, я пытаюсь настроить это на своем сайте NAYAG Tricks на базе WordPress.

Оцените статью
devanswers.ru
Добавить комментарий