Score:0

Nginx ย้อนกลับพร็อกซีกำหนดเส้นทางไดเรกทอรีย่อยไปยังเส้นทางพร็อกซีตำแหน่งรูทในหน้าแรก เยี่ยมชมแต่ละเซสชันของเบราว์เซอร์

ธง zw

สั้น: ฉันมีเซิร์ฟเวอร์ที่แตกต่างกันสองเซิร์ฟเวอร์ที่อยู่เบื้องหลังพร็อกซี nginx เมื่อฉันพยายามเข้าถึงหนึ่งในนั้น ฉันจะถูกเปลี่ยนเส้นทางไปยังอีกอันหนึ่งซึ่งอยู่ที่ตำแหน่งรูทเสมอ สิ่งนี้เกิดขึ้นครั้งเดียว บันทึกบอกเป็นนัยว่า Firefox/Chrome ไม่ส่งคำขอ GET ไปยัง nginx เมื่อฉันป้อนที่อยู่ในครั้งแรก เมื่อฉันป้อน URL เป็นครั้งที่สองในเซสชัน Firefox/Chrome ฉันจะไปถึงเซิร์ฟเวอร์ที่ถูกต้อง

อีกต่อไป: ในการตั้งค่าของฉัน ฉันมีเซิร์ฟเวอร์สองเครื่องภายในเครือข่ายนักเทียบท่าซึ่งควรกำหนดเส้นทาง "https://server.app/" ไปที่ "http://docker-server-1:80" และ "https://server.app/client " ควรส่งผ่านไปยัง "http://docker-server-2:8090/client"

การกำหนดค่า nginx ของฉันมีลักษณะดังนี้

เหตุการณ์ {}

http {
    เซิร์ฟเวอร์ {
        server_name server.app;
        ฟัง 443 ssl;
        ssl_certificate /etc/nginx/fullchain.pem;
        ssl_certificate_key /etc/nginx/privkey.pem;
        error_log /etc/nginx/nginx.log ดีบัก;

        ตำแหน่ง / ลูกค้า {
            proxy_pass http://docker-server-2:8090/client;
            proxy_set_header โฮสต์ $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

        ที่ตั้ง / {
            proxy_pass http://docker-server-1:80;
            proxy_set_header โฮสต์ $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

เมื่อฉันป้อน "https://server.app/client" ฉันจะเข้าถึงเซิร์ฟเวอร์ที่ถูกต้องเมื่อ ก) ฉันเปิดหน้านี้ในโหมดไม่ระบุตัวตนของ Firefox/Chrome ข) ฉันใช้เครื่องมือที่เรียบง่ายและไร้เดียงสาอย่าง curl/wget, c ) ฉันล้างแคชของ Firefox/Chrome และพวกเขาไม่เคยเห็น "https://server.app" มาก่อน หรือ ง) ฉันต่อท้าย index.html แล้วป้อน "https://server.app/client/index.html"

เมื่อฉันไปที่ "https://server.app" และพยายามเปิด "https://server.app/client" ในภายหลัง หน้า "https://server.app" จะถูกโหลดแทนหนึ่งครั้งต่อเซสชันเบราว์เซอร์ เมื่อฉันป้อน URL ไดเรกทอรีย่อยเป็นครั้งที่สอง ฉันจะเข้าถึงเซิร์ฟเวอร์ที่ถูกต้องจนกว่าฉันจะปิดเบราว์เซอร์และเปิดใหม่อีกครั้ง จากนั้นฉันจะสิ้นสุดอีกครั้งที่ "https://server.app" เมื่อฉันป้อน "https://server.app/client"

ส่วนที่แปลกคือฉันไม่เห็นคำขอ GET ใด ๆ ในบันทึก nginx เมื่อป้อน "https://server.app/client" ด้วย Firefox/Chrome ที่ไม่ระบุตัวตน ดูเหมือนว่าทั้งสองเบราว์เซอร์จะใช้เวอร์ชันแคชของ "https://server.app" เมื่อฉันป้อน "https://server.app/client" แต่ฉันไม่เข้าใจว่าทำไม นี่คือเหตุผลที่ฉันคิดว่าเบราว์เซอร์เป็นส่วนหนึ่งของปัญหา แต่ฉันจะบอกให้พวกเขาไม่ทำการเปลี่ยนเส้นทางนี้ได้อย่างไร

djdomi avatar
za flag
คุณลองขดไหม

โพสต์คำตอบ

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