Score:0

Nginx เขียนใหม่อย่างถูกต้องสำหรับอันหนึ่ง แต่ไม่ใช่อันอื่น

ธง fr

โดยทั่วไปฉันกำลังพยายามใช้ proxy_pass คำสั่งเพื่อเรียก API ระยะไกล

จนถึงตอนนี้ นี่คือสิ่งที่ฉันได้รับ:

เซิร์ฟเวอร์ {
  ที่ตั้ง /a {
    proxy_pass https://a.com;
    เขียนใหม่ ^/a(.*)$ $1 ตัวแตก; # ไม่มีเครื่องหมายทับ กำหนดไว้ในรหัสแอปพลิเคชัน
  }
  ที่ตั้ง /b {
    proxy_pass https://b.com;
    เขียนใหม่ ^/b(.*)$ $1 พัก; # ไม่มีเครื่องหมายทับ กำหนดไว้ในรหัสแอปพลิเคชัน
  }
  ที่ตั้ง / {
    #การกำหนดค่าที่เหลือ
  }
}

ฉันติดอยู่กับความจริงที่ว่า ที่ตั้ง /ก ทำงานได้ดีแต่ ที่ตั้ง/ข ไม่ได้ด้วยเหตุผลบางอย่าง (HTTP/404).


ฉันลองใช้เครื่องหมายทับท้ายสำหรับ ที่ตั้ง/ข ทางนี้

ที่ตั้ง /b/ {
  proxy_pass https://b.com/;
  เขียนใหม่ ^/b/(.*)$ $1 ตัวแตก;
}

แต่ก็ไม่ได้ผลเช่นกัน

ยินดีต้อนรับความช่วยเหลือใด ๆ

Score:0
ธง fr

ฉันพบคำตอบสำหรับปัญหาเฉพาะของฉัน

เซิร์ฟเวอร์ API สองตัวไม่ได้รับการกำหนดค่าในลักษณะเดียวกัน และฉันต้องปรับแต่งการกำหนดค่า nginx เล็กน้อย

  • เซิร์ฟเวอร์ b.คอม ต้องการ ก proxy_set_header โฮสต์ $host คำสั่งและไม่มี เขียนใหม่ คำสั่ง
  • เซิร์ฟเวอร์ เอ.คอม ต้องการ เขียนใหม่ คำสั่ง แต่ไม่ใช่ proxy_set_header โฮสต์ $host

สิ่งนี้ทำให้ฉันมีการกำหนดค่าต่อไปนี้ (ใช้งานได้สำหรับฉัน):

เซิร์ฟเวอร์ {
    ที่ตั้ง /a {
        proxy_pass https://a.com;
        เขียนใหม่ ^/a(.*)$ $1 ตัวแตก;
    }
    ที่ตั้ง /b {
        proxy_set_header โฮสต์ $host;
        proxy_pass https://b.com;
    }
}

โพสต์คำตอบ

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