Score:0

ใช้ตัวแปรสภาพแวดล้อมเดียวกันสำหรับ HOSTNAME และระบุเซิร์ฟเวอร์คำขอเว็บที่ใช้

ธง us

สภาพแวดล้อมของเรามีเซิร์ฟเวอร์ชื่อดังนี้:

  • ผลิตภัณฑ์-app-01
  • ผลิตภัณฑ์-app-02
  • ทดสอบแอป-01
  • ทดสอบแอป-02

ฉันเคยใช้ sudo hostnamectl set-hostname ทดสอบแอป-02 บนแต่ละเซิร์ฟเวอร์ (เปลี่ยนชื่อให้เหมาะสมในแต่ละครั้ง) เพื่อตั้งชื่อที่ปรากฏในเทอร์มินัล ตอนนี้ฉันต้องการใช้ชื่อเดียวกันใน Apache เพื่อระบุว่าเซิร์ฟเวอร์ใดตอบสนองคำขอเว็บโดยดูที่ส่วนหัว HTTP

ภายในอาปาเช่ /etc/apache2/sites-enabled/000-default.conf ไฟล์ที่ฉันใส่:

    ส่วนหัวตั้งค่า X-Server: test-app-02

อย่างไรก็ตาม ฉันต้องทำการเปลี่ยนแปลงเดียวกันในสองแห่งทุกครั้ง เครื่องของเราถูกโคลน ดังนั้นคงการตั้งค่าไว้จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ฉันต้องการที่จะสามารถใช้ได้เท่านั้น sudo hostnamectl set-hostname ทดสอบแอป-02 และให้การเปลี่ยนแปลงนั้นมีผลใน Apache ด้วย (หลังจากรีสตาร์ทอาจเป็นไปได้) อย่างไรก็ตาม ดูเหมือนว่า Apache จะไม่สามารถเข้าถึงข้อมูลนั้นได้

ฉันลองตั้งค่า ชื่อโฮสต์ เป็นตัวแปรสภาพแวดล้อม แต่ฉันไม่สามารถทำให้ Apache ใช้งานได้ (ส่วนหัวตั้งค่าเซิร์ฟเวอร์ X: "%{env:HOSTNAME}", ส่วนหัวตั้งค่าเซิร์ฟเวอร์ X: "%{HOSTNAME}e"ฯลฯ) รับอย่างใดอย่างหนึ่ง X-เซิร์ฟเวอร์: หรือ X-เซิร์ฟเวอร์: (โมฆะ) ในส่วนหัวทุกครั้ง นอกจากนี้ยังดูเหมือนว่าฟังก์ชั่นอื่น ๆ เช่น ชื่อโฮสต์ (ซึ่งมีอยู่ในเทอร์มินัล) ไม่พร้อมใช้งานใน Apache .conf ไฟล์.

มีวิธีใดบ้างที่จะทำการเปลี่ยนแปลงนี้ในที่เดียวและมีผลในทั้งสองที่

Gerard H. Pille avatar
in flag
มีคำสั่ง - PassEnv หรือบางอย่าง - ซึ่งบอก Apache ว่าจะใช้ EV ใด
us flag
@GerardH.Pille ขอบคุณสำหรับ `PassEnv` อย่างไรก็ตาม ฉันเห็นใน https://serverfault.com/a/441141/240770 ว่า `PassEnv` ไม่จำเป็น

โพสต์คำตอบ

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