ฉันมีสองสถานที่ในการกำหนดค่า nginx ที่ทำงาน:
location ^~ /media/ {
proxy_pass http://backend.example.com;
}
location ^~ /static/ {
proxy_pass http://backend.example.com;
}
ฉันจะรวมสองสิ่งนี้เข้าด้วยกันในที่เดียวได้อย่างไร
สิ่งที่ฉันทำไปแล้ว:
ฉันลองคำแนะนำนี้
location ~ ^/(static|media)/ {
proxy_pass http://backend.example.com;
}
แต่มันไม่ได้ผลสำหรับฉัน
นอกจากนี้เมื่อฉันไม่ได้ใช้แบ็กเอนด์การกำหนดค่าต่อไปนี้ทำงานอย่างถูกต้อง:
location ~ ^/(static|media)/ {
root /home/project_root;
}
ปรับปรุง (บางสายจากบันทึก)
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /content/11160/ HTTP/1.1" 200 5310 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/font-awesome/css/font-awesome.min.css HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome$
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.$
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/css/custom.css HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/53$
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/colorbox/colorbox.css HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Sa$
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/colorbox/jquery.colorbox-min.js HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.$
xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /static/js/scripts.js HTTP/1.1" 404 200 "http://www.example.com/content/11160/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537$
วิธีการแก้
ที่จริงโซลูชันของฉันทำงานได้ดี:
location ~ ^/(static|media)/ {
root /home/project_root;
}
และปัญหาไม่เกี่ยวข้องกับแบ็กเอนด์ ในขณะที่ Guido Vaccarella สังเกตเห็นได้อย่างถูกต้องมันเพิ่งตามหลังคนอื่นlocation ~ ...
ที่เข้าคู่กันดังนั้นฉันlocation ~ ...
จึงไม่มีโอกาสวิ่ง