Score:0

Nginx เขียนใหม่ด้วยพร็อกซีพาส

ธง pk

ฉันมี Nginx ทำงานอยู่ด้านหน้าของเซิร์ฟเวอร์โหนด js (next.js) ฉันกำลังพยายามเขียนการกำหนดค่า Nginx เพื่อให้ได้พฤติกรรมนี้ ฉันต้องการเพิ่มชื่อโฮสต์เป็นส่วนแรกในเส้นทางก่อน proxy_pass ไปยังโหนด js

เช่น ลูกค้าจะเขียน a.com/ หรือ a.com/product/... หรือ a.com/**.
แอปพลิเคชัน nextjs ของฉันยกเว้นบางอย่างเช่น http://a.com/[:ชื่อโดเมน]/.... ในขณะที่ชื่อโดเมนเหมือนกับโฮสต์

ดังนั้นเป้าหมายคือการเปลี่ยน URL จาก a.com/** ถึง a.com/a.com/**ก่อนที่จะส่งผ่านไปยังเซิร์ฟเวอร์ nextjs

การกำหนดค่า nginx ที่ฉันสร้าง:

ที่ตั้ง / {
                # ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
                # เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
                # try_files $uri $uri/ =404;
                # ถ้า ($host = a.com) { proxy_pass http://site/a/; }
                # ถ้า ($host = b.com) { proxy_pass http://site/b/; }
                เขียนใหม่ ^(/.*)$ /$host/$1 ;
                proxy_pass http://ไซต์;
        }

แต่นั่นไม่ได้ผล

Score:0
ธง za

ดูถูกต้อง คุณควรตรวจสอบว่าอัปสตรีมได้รับอะไรในบันทึกการเข้าถึง เดิมพันคำตอบอยู่ที่นั่น แม้ว่าฉันคิดว่าปัญหาหลักคือคุณลืมส่งส่วนหัวของโฮสต์:

proxy_set_header Host <อะไรก็ตามที่โฮสต์คาดหวังไว้บนอัพสตรีม แต่ไม่ใช่ $host แน่นอน>

แต่นี่จะเป็นเบาะแสก็ต่อเมื่อเซิร์ฟเวอร์อัปสตรีมไม่ใช่เซิร์ฟเวอร์เริ่มต้นหรือเซิร์ฟเวอร์เดียวเท่านั้น

โพสต์คำตอบ

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