Score:0

พร็อกซีย้อนกลับของ Nginx เข้าถึงไซต์ของฉัน แต่ไม่สามารถรับรูปภาพได้

ธง cn

ฉันดิ้นรนเป็นเวลา 3 วันกับพร็อกซีย้อนกลับของ Nginx เพื่อให้รู้ว่าฉันคิดว่าเป็นเรื่องง่าย ฉันต้องเข้าถึงแอปพลิเคชัน backend node-red (nodeJS) จำนวนมากจาก Nginx แต่ต้องมีพอร์ตต่างกันเสมอ

ต่อไปนี้คือตัวอย่างของฉัน:

เว็บไคลเอนต์ -> `https://ip_adr/1881/ui/` -> Nginx proxy_pass `http://127.0.0.1:1881/ui/` (แอป)

แอปแบ็กเอนด์ให้บริการรูปภาพ http://127.0.0.1:1881/*.jpg


  1. ฉันตระหนักถึงการทดสอบแบบคงที่ด้วย:
ที่ตั้ง / {
        #proxy_pass http://127.0.0.1:1881;
}

https://ip_adress/ui ในเบราว์เซอร์ของฉันทำงานได้ดีกับรูปภาพแอปทั้งหมด

  1. ด้วยการเขียนซ้ำเพื่อส่งต่อพอร์ตจากส่วนหน้าไปยังส่วนหลังแบบไดนามิก:

    ตำแหน่ง ~ ^/(?<พอร์ต>\d\d\d\d) {
    
        เขียนใหม่ "^/\d{4}/(.*)" /$1 ตัวแบ่ง;
        proxy_pass http://127.0.0.1:$port;
    

    }

ด้วย regex ฉันจะแยกพอร์ตจาก ip_adr/1881 ด้วย /(?<พอร์ต>\d\d\d\d)และเขียน url ใหม่โดยไม่ใช้ /1881 แต่การรักษาในที่สุด /path1/path2/...

ถ้าฉันใส่ https://192.168.x.x/1881/ui/ ในเบราว์เซอร์ของฉันทุกอย่างดี แต่ไม่มีรูปภาพ


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

2022/03/10 01:01:36 [ข้อผิดพลาด] 50065#50065: *1224 open() "/usr/share/nginx/html/schema_fire_EEU.jpg" ล้มเหลว (2: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว), ไคลเอ็นต์: 192.168 .1.29, เซิร์ฟเวอร์: exemple3.test.fr, คำขอ: "GET /schema_fire_EEU.jpg HTTP/1.1", โฮสต์: "192.168.1.53", ผู้อ้างอิง: "https://192.168.1.53/1881/ui/"

นั่นเป็นเรื่องเหลือเชื่อมากถ้าฉันใส่ https://192.168.x.x/1881/schema_fire_EEU.jpgฉันสามารถแสดงภาพนี้ !!!

ฉันคิดว่ามีปัญหากับ slash ...

ใครก็ได้ช่วยฉันที ?

ขอให้เป็นวันที่ดี ;-)

djdomi avatar
za flag
ทำซ้ำของ [nginx reverse proxy IP\_adr/1881 to localhost:1881 proxy\_pass](https://serverfault.com/questions/1095645/nginx-reverse-proxy-ip-adr-1881-to-localhost1881-proxy- ผ่าน)
dinastar66 avatar
cn flag
ขออภัย แต่ไม่เหมือนกัน ;-)
Score:0
ธง cn

จากความเข้าใจของฉันเกี่ยวกับสิ่งที่คุณกำลังพูด ปัญหาอาจเป็นไปได้ว่า URI ที่คุณพร็อกซีใช้นั้นไม่ถูกต้อง

หาก "https://192.168.x.x/1881/schema_fire_EEU.jpg" นี้ใช้งานได้ หมายความว่าบริการของคุณเปิดเผยรูปภาพของคุณภายใต้ "/" แต่กฎ ProxyPass ไม่มี "/"

คุณสามารถลองด้วย:

ProxyPass / http://ip:พอร์ต

ขอให้เป็นวันที่ดี. :)

dinastar66 avatar
cn flag
ขอบคุณ แต่แทนที่จะเป็น ``proxy_pass http://127.0.0.1:$port/;`` ?
djdomi avatar
za flag
ProxyPass เป็น Apache Syntax ไม่ใช่ Nginx
dinastar66 avatar
cn flag
ตกลง แต่ฉันไม่สามารถรับรูปภาพใด ๆ ได้อีกต่อไป

โพสต์คำตอบ

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