moss.sh를 사용하여 Nginx+Apache 리버스 프록시에서 webp 지원 활성화

안녕하세요, 지난 몇 시간 동안 머리를 긁적였지만 아래 문제를 해결할 수 있는 신뢰할 수 있는 소스를 얻을 수 없습니다.

실제로 Nginx + apache 리버스 프록시 스택에서 webp 지원으로 WP Smush(또는 모든 webp 플러그인)를 설정하려고 합니다. 내 moss.sh가 설치되었습니다.
그러나 설정하는 동안 Apache나 nginx에 대한 재작성 규칙이 작동하지 않는 것 같습니다. 온라인에서 일부 소스를 살펴본 후 실제로 nginx가 모든 정적 파일을 제공하고 htaccess의 모든 리디렉션 설정을 무시한다는 사실을 알게 되었습니다.

WP Smush 문서에 따르면,

"서버가 NGINX를 Apache용 프록시로 실행하는 경우 Apache/Litespeed 규칙이 .htaccess에서 작동하지 않을 수 있으며 대신 NGINX 규칙을 수동으로 추가해야 합니다.

서버가 NGINX와 Apache(예: Cloudways 또는 Nexcess)를 모두 실행하는 하이브리드 설정을 사용하는 경우 이미지가 NGINX를 통해 캐시되고 제공될 가능성이 높습니다. 따라서 Smush의 Local WebP 기능을 사용하려면 다음과 같이 변경해야 합니다.

해당 파일이 이제 Apache를 통해 제공되도록 NGINX 규칙에서 이미지 확장자를 제외합니다.
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;
        }


그리고 config에서 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;



도움을 주시면 감사하겠습니다.

추신: 문제가 되는 경우를 대비하여 WordPress 기반 웹사이트NAYAG Tricks에서 설정하려고 합니다.

좋은 웹페이지 즐겨찾기