Score:0

การเปลี่ยนเส้นทางทำให้เกิดข้อผิดพลาด 404 ใน nginx

ธง cn

ฉันจะเปลี่ยนเส้นทางได้อย่างไรหากผู้ใช้พยายามเข้าถึงไฟล์ภาพโดยตรงในเบราว์เซอร์เท่านั้น ฉันต้องการยังคงความสามารถในการอนุญาตให้ไซต์โซเชียลมีเดียฝังรูปภาพของเราโดยการเชื่อมโยงด่วน ฉันแค่ต้องการเฉพาะเมื่อผู้ใช้เข้าถึงรูปภาพโดยตรงโดยเบราว์เซอร์เพื่อเปลี่ยนเส้นทาง

นี่คือการกำหนดค่า nginx ของฉัน

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;
เซิร์ฟเวอร์ {

    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;
    ที่ตั้ง / {
        proxy_cache pixstore;
        เปิด proxy_cache_revalidate;
        ข้อผิดพลาด proxy_cache_use_stale หมดเวลาอัปเดต http_500 http_502 http_503 http_504;
        เปิด proxy_cache_lock;
        add_header X-Cache-สถานะ $upstream_cache_status;
        proxy_pass http://xxx.xxx.xxx.xxx:8090;
        ปิด proxy_redirect;
        รวม proxy_params;
        proxy_cache_valid 200 7d;
        proxy_cache_valid 404 5m;
    }

    ตำแหน่ง ~ "^/c/600x1200_90_webp/img-master/img/\d+/\d+/\d+/\d+/\d+/\d+/((?<filenum>\d+)[^/]+\.( jpg|png|webp))$" {
    valid_referers server_names;
    ถ้า ($invalid_referer = "0") {
    ส่งคืน 301 http://view.example.com/artwork/$filenum; }
    }

}

บันทึกข้อผิดพลาด nginx

2022/01/19 12:09:23 [ข้อผิดพลาด] 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" ล้มเหลว (2: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว), ลูกค้า: xxx.xxx.xxx.xxx, เซิร์ฟเวอร์: img.example.com, คำขอ: "GET /c/600x1200_90_webp/img-master/ img/2021/06/09/00/00/05/90423484_p0_master1200.jpg HTTP/1.1", โฮสต์: "img.example.com"

การเปลี่ยนเส้นทางไม่ทำงาน แต่มันทำให้ฉันมีข้อผิดพลาด 404 ถ้าฉันพยายามเข้าถึงไฟล์ภาพใดๆ ฉันตั้งค่านี้เป็นไซต์พร็อกซีย้อนกลับ ดังนั้นฉันจึงไม่ได้กำหนดเส้นทางรูท ฉันจะแก้ไขปัญหานี้ได้อย่างไร

us flag
โปรดรวมการกำหนดค่า nginx แบบเต็มตามที่แสดงโดย `nginx -T`
jp flag
อย่าแก้ไขคำถามของคุณเพื่อให้เป็นคำถามใหม่เมื่อคุณมีคำตอบแล้ว โพสต์คำถามอื่น
Score:0
ธง jp

เนื่องจากคุณไม่ได้กำหนดเส้นทางรูทสำหรับตำแหน่งรูปภาพ จิงซ์ ใช้ค่าเริ่มต้น - /usr/share/nginx/html/. หากคุณต้องการดึงไฟล์เหล่านี้ด้วย proxy_pass คุณต้องคัดลอกการกำหนดค่าสำหรับ proxy_pass มายังสถานที่นี้ด้วย

TravelWhere avatar
cn flag
ฉันได้เพิ่ม proxy_pass ไปยังตำแหน่งรูปภาพซึ่งแก้ไขข้อผิดพลาด 404 แล้ว แต่มันไม่ได้เปลี่ยนเส้นทาง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา