Điểm:0

Chuyển hướng gây ra lỗi 404 trên nginx

lá cờ cn

Làm cách nào để chuyển hướng nếu người dùng cố truy cập trực tiếp các tệp hình ảnh chỉ trong trình duyệt? Tôi muốn vẫn giữ khả năng cho phép các trang truyền thông xã hội nhúng hình ảnh của chúng tôi bằng liên kết nóng. Tôi chỉ muốn nếu người dùng truy cập trực tiếp hình ảnh bằng trình duyệt để chuyển hướng.

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

proxy_cache_path /var/www/img.example.com/htdocs/cache-store levels=1:2 keys_zone=pixstore:10m max_size=5g inactive=7d use_temp_path=off;
người phục vụ {

    server_name img.example.com www.img.example.com;

    access_log /var/log/nginx/img.example.com.access.log ;
    error_log /var/log/nginx/img.example.com.error.log;

    add_header X-Proxy-Cache $upstream_cache_status;
    địa điểm / {
        cửa hàng pixel proxy_cache;
        bật proxy_cache_revalidate;
        lỗi proxy_cache_use_stale hết thời gian cập nhật http_500 http_502 http_503 http_504;
        bật proxy_cache_lock;
        add_header X-Cache-Status $upstream_cache_status;
        proxy_pass http://xxx.xxx.xxx.xxx:8090;
        proxy_redirect tắt;
        bao gồm proxy_params;
        proxy_cache_valid 200 7d;
        proxy_cache_valid 404 5m;
    }

    vị trí ~ "^/c/600x1200_90_webp/img-master/img/\d+/\d+/\d+/\d+/\d+/\d+/((?<filenum>\d+)[^/]+\.( jpg|png|webp))$" {
    tên_máy chủ hợp lệ;
    nếu ($invalid_referer = "0") {
    trả về 301 http://view.example.com/artwork/$filenum; }
    }

}

nhật ký lỗi nginx

19/01/2022 12:09:23 [lỗi] 7426#7426: *30 open() "/usr/share/nginx/html/c/600x1200_90_webp/img-master/img/2021/06/09/00/ 00/05/90423484_p0_master1200.jpg" không thành công (2: Không có tệp hoặc thư mục như vậy), máy khách: xxx.xxx.xxx.xxx, máy chủ: img.example.com, yêu cầu: "NHẬN /c/600x1200_90_webp/img-master/ img/2021/06/09/00/00/05/90423484_p0_master1200.jpg HTTP/1.1", máy chủ lưu trữ: "img.example.com"

Chuyển hướng không hoạt động nhưng nó báo lỗi 404 nếu tôi cố truy cập bất kỳ tệp hình ảnh nào. Tôi thiết lập trang này làm trang web proxy ngược nên tôi không xác định đường dẫn gốc. Làm thế nào tôi có thể sửa lỗi này?

lá cờ us
Vui lòng bao gồm cấu hình nginx đầy đủ như được hiển thị bởi `nginx -T`.
lá cờ jp
Không chỉnh sửa câu hỏi của bạn để đặt câu hỏi mới khi bạn đã có câu trả lời. Đăng một câu hỏi khác.
Điểm:0
lá cờ jp

Vì bạn không xác định đường dẫn gốc cho vị trí hình ảnh nginx sử dụng cái mặc định - /usr/share/nginx/html/. Nếu bạn muốn các tệp này được tìm nạp với proxy_pass bạn cần sao chép cấu hình cho proxy_pass đến vị trí này nữa.

TravelWhere avatar
lá cờ cn
Tôi đã thêm proxy_pass vào vị trí hình ảnh đã sửa lỗi 404 nhưng nó không chuyển hướng.

Đă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.