Score:0

การเปลี่ยนเส้นทางพร็อกซีบน NGINX ไม่ทำงานตามที่คาดไว้

ธง cn

ฉันตั้งค่า nginx เป็นพร็อกซีย้อนกลับสำหรับพร็อกซีเซิร์ฟเวอร์สองเครื่อง แต่ละรายการ (เซิร์ฟเวอร์พร็อกซีและพร็อกซี) กำลังทำงานเป็นคอนเทนเนอร์ในสภาพแวดล้อมนักเทียบท่า พร็อกซีเซิร์ฟเวอร์ แอปปอลฟา เป็นเพียง nginx:อัลไพน์ ให้บริการหน้าเว็บแบบคงที่ (เพื่อวัตถุประสงค์ในการสาธิตและการทดสอบเท่านั้น) ทุกอย่างทำงานได้ดีที่นี่เพราะสิ่งต่าง ๆ นั้นง่าย อิมเมจของพร็อกซีเซิร์ฟเวอร์อื่นคือ คันบอร์ด/คันบอร์ด. เมื่อฉันพยายามเข้าถึงบริการนี้ผ่านพร็อกซีย้อนกลับที่ https://example.com/kanboard/ ก่อนอื่นฉันได้รับการตอบกลับ http ที่คาดไว้พร้อมรหัสสถานะ 302 (พบ). แต่ส่วนหัวถูกกำหนดให้เป็น ที่ตั้ง: /เข้าสู่ระบบ (เช่นชี้ไปที่พร็อกซีย้อนกลับของฉัน) ซึ่งไม่มีอยู่ ความคาดหวังของฉันคือการเห็นฟิลด์ส่วนหัวของ ที่อยู่: /kanboard/login ที่นี่.

ฉันลองกับการกำหนดค่าที่เสนอหลายอย่างไม่สำเร็จ:

  • ปราศจาก proxy_redirect
  • กับ proxy_redirect
  • กับ เขียนใหม่ (ซึ่งไม่ใช่แนวคิดที่ถูกต้องที่นี่เท่าที่ฉันเข้าใจ)
  • กับ กลับ (ซึ่งไม่ใช่แนวคิดที่ถูกต้องในที่นี้เช่นกัน ใช่ไหม!)

ผมทำอะไรผิดหรือเปล่า?

ของฉัน proxy.conf ของรายการพร็อกซีย้อนกลับ nginx ดังนี้:

เซิร์ฟเวอร์ {
    ฟัง 443 ssl http2;
    server_name example.com;
    ปิด server_tokens;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    ssl_session_cache ในตัว:1000 แชร์:SSL:10m;
    ssl_protocols TLSv1.3;
    ssl_ciphers "สูง !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4";
    เปิด ssl_prefer_server_ciphers;
    access_log /var/log/nginx/nginx-2443.log;
    proxy_cache_valid 1 วินาที;

    ตำแหน่ง / อัลฟา {
        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://appalpha/;
    }

    ตำแหน่ง /eval_kanboard {
        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 https://restore_eval_kanboard/;
    }
}

ฉันขอขอบคุณสำหรับความช่วยเหลือของคุณ

ไชโยโทมัส

us flag
แอปพลิเคชันของคุณสร้าง URL การเปลี่ยนเส้นทาง ดังนั้นคุณต้องดูวิธีระบุ URL ฐานสำหรับ `kanboard`
tab269 avatar
cn flag
ขอบคุณสำหรับการแก้ไขที่แนะนำ ฉันตั้งค่า URL พื้นฐานในแอปพลิเคชัน `kanboard` เป็น `https://example.com/kanboard/` น่าเสียดายที่ได้รับการตอบกลับ `302 (Found)` เดียวกันกับ `Location: /login` นี่เป็นหนึ่งในคุณสมบัติหลักของ reverse proxy ที่สามารถเปลี่ยนเส้นทาง/เขียนคำขอใหม่รวมทั้งการตอบกลับได้หรือไม่! และพร็อกซีเซิร์ฟเวอร์ควรดูแลในสภาพแวดล้อมที่ทำงานอยู่หรือไม่! จากมุมมองของพร็อกซีเซิร์ฟเวอร์ _relative_ `Location: /login` _is_ ถูกต้อง เนื่องจากไม่ทราบเกี่ยวกับพร็อกซีย้อนกลับ แต่พร็อกซีย้อนกลับควรจะเปลี่ยนเส้นทาง/เขียนใหม่ไปที่ `/kanboard/login`
us flag
การเขียนซ้ำดังกล่าวไม่สามารถดำเนินการได้อย่างน่าเชื่อถือในบริบทของพร็อกซีย้อนกลับ พร็อกซีย้อนกลับเห็นเฉพาะสตรีมข้อความ ไม่มีความคิดใด ๆ เกี่ยวกับองค์กร URL สามารถมีได้หลายรูปแบบในสตรีมข้อความ การค้นหาและแทนที่อย่างง่ายบนสตรีมข้อความอาจทำให้เกิดผลข้างเคียงที่ไม่ดีทุกประเภท ดังนั้นจึงต้องมีการตั้งค่าในแอปพลิเคชัน

โพสต์คำตอบ

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