Điểm:4

Thêm khối vị trí vào các tệp bộ đệm làm cho các tệp đó trả về 404 trong Nginx

lá cờ in

Tôi muốn lưu trữ một số tệp tĩnh bằng Nginx. Nhưng tôi bằng cách nào đó không thể làm cho nó hoạt động.

Đây là của tôi nginx.conf:

dữ liệu www của người dùng;
worker_processes tự động;
pid /run/nginx.pid;
bao gồm /etc/nginx/modules-enabled/*.conf;

sự kiện {
    công_nhân kết_nối 768 ;
    #multi_accept on;
}


http {

    #GZIP
    bật gzip;
    bật gzip_vary;
    gzip_proxied bất kỳ;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_min_length 256;
    ứng dụng gzip_types/ứng dụng javascript/ứng dụng json/ứng dụng ld+json/phông chữ xml/phông chữ eot/phông chữ otf/văn bản ttf/văn bản css/văn bản javascript/văn bản thuần túy/xml;

    # MAY CHỦ
    người phục vụ {
            nghe 80;

        server_name example.com;
        nếu ($http_host ~* ^www\.(.*)$ )
        {
            trả lại 301 https://$1$request_uri;
        }

        trả lại 301 https://$http_host$request_uri;
    }
    người phục vụ {
        nghe 443 ssl;

        nếu ($http_host ~* ^www\.(.*)$ )
        {
            trả về 301 $scheme://$1$request_uri;
        }


        #SSL
        ssl_certificate /root/.acme.sh/example.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/example.com/example.com.key;

        server_name example.com;

        # Chuyển tất cả lưu lượng truy cập vào ứng dụng web của tôi
        địa điểm / {
            proxy_set_header Máy chủ lưu trữ $host;
            proxy_pass http://localhost:8080;
        }

        #Bộ nhớ đệm của trình duyệt
        vị trí ~* \.(js|css)$ {
            hết 180đ;
            add_header Pragma "công khai";
            add_header Kiểm soát bộ đệm "công khai";
        }
        vị trí ~* \.(jpg|jpeg|png|webp|woff|woff2|ttf)$ {
            hết hạn 365d;
            add_header Pragma "công khai";
            add_header Kiểm soát bộ đệm "công khai";
        }

    }
}

Vấn đề nằm ở phần "Bộ nhớ đệm của trình duyệt". Khi kích hoạt khối mã này, trang web của tôi sẽ tải, nhưng tất cả các tệp css, tệp javascript và hình ảnh đều trả về lỗi 404. Có vẻ như các tệp đó đang bỏ qua trang web của tôi địa điểm /.

Tôi đã có thể giải quyết vấn đề này bằng cách sao chép/dán

proxy_set_header Máy chủ lưu trữ $host;
proxy_pass http://localhost:8080;

trong tất cả của tôi địa điểm-blocks, nhưng điều đó không thực sự tao nhã và thực sự khiến trang web của tôi chậm hơn rất nhiều...

Tôi cũng đã cố gắng di chuyển hai địa điểm-blocks cho bộ nhớ đệm của trình duyệt trong khối địa điểm \ vì vậy cái sau sẽ đóng vai trò là 'cha mẹ'. Nhưng điều đó không có khả năng xảy ra hành vi của hình ảnh, v.v. trả về 404.

Làm cách nào để định cấu hình bộ nhớ đệm của các tệp tĩnh trong Nginx?

lá cờ us
Tôi đã đưa ra câu trả lời trong câu hỏi ban đầu của bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.