Score:0

Apache VirtualHosts ไม่ทำงาน / เปลี่ยนเส้นทาง? (พร็อกซีย้อนกลับ)

ธง mg

ฉันกำลังพยายามตั้งค่า Apache เป็น reverse proxy บนเครื่องเสมือน Ubuntu 22.04 ใหม่เรามี Apache reverse proxy ที่มีอยู่ใน Ubuntu 18.04 ซึ่งทุกอย่างทำงานได้ตามที่ตั้งใจไว้ reverse proxy ใหม่นี้ควรจะแทนที่อันเก่าของเรา แต่ดูเหมือนว่าโฮสต์เสมือนจะทำงานไม่ถูกต้อง

ฉันได้ทำสิ่งต่อไปนี้:

apt-รับการปรับปรุง
apt-รับการอัพเกรด
apt-get ติดตั้ง apache2
พร็อกซี a2enmod
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests

ฉันปิดใช้งานหน้าเริ่มต้นในการเปิดใช้งานไซต์

a2dissite 000-default.conf

ฉันสร้างโฮสต์เสมือนใหม่แล้วเปิดใช้งาน

vi 001-trupage.azmedien.ch.conf
a2ensite 001-trupage.azmedien.ch.conf

ดูเหมือนว่า:

<VirtualHost trupage.azmedien.ch:80>
    ServerName trupage.azmedien.ch
    ProxyPreserveHost On
    ProxyPass / http://10.200.0.130/
    ProxyPassReverse / http://10.200.0.130/
</VirtualHost>

จากนั้นฉันรีสตาร์ท & โหลด Apache ใหม่

systemctl รีสตาร์ท apache2
systemctl โหลด apache2 ใหม่

ฉันสร้างรายการไฟล์โฮสต์บนพีซี Windows ของฉันเพื่อทดสอบว่าการกำหนดค่าพื้นฐานนี้ใช้งานได้หรือไม่ โดยชี้ไปที่เซิร์ฟเวอร์ Apache ของฉัน

เมื่อฉันพยายามเข้าถึง trupage.azmedien.ch มันนำฉันไปที่เว็บไซต์เริ่มต้นของ Apache แทนที่จะเปลี่ยนเส้นทางฉันไปยังเซิร์ฟเวอร์ที่ถูกต้อง (ซึ่งกำหนดด้วย ProxyPass ในโฮสต์เสมือน)

ดูเหมือนว่าจะไม่รู้จัก virtualhost ด้วยเหตุผลบางประการ? เมื่อฉันแทนที่ "trupage.azmedien.ch:80" ด้วย "*:80" แล้วเปิดในเบราว์เซอร์ ProxyPass ใช้งานได้ แต่เห็นได้ชัดว่านั่นไม่ใช่สิ่งที่ฉันต้องการเนื่องจากจะมีโฮสต์เสมือนหลายโฮสต์

<VirtualHost *:80>
    ServerName trupage.azmedien.ch
    ProxyPreserveHost On
    ProxyPass / http://10.200.0.130/
    ProxyPassReverse / http://10.200.0.130/
</VirtualHost>

นี่คือผลลัพธ์จาก apache2ctl -S, 213.146.11.131 เป็น IP ของ reverse proxy เก่า แต่ฉันไม่รู้ว่ามันมาจากไหนหรือทำไมมันถึงแสดงที่นี่:

root@azprox10:~# apache2ctl -S
AH00558: apache2: ไม่สามารถระบุชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือ โดยใช้ 127.0.1.1 ตั้งค่าคำสั่ง 'ชื่อเซิร์ฟเวอร์' ทั่วโลกเพื่อระงับ th is message
การกำหนดค่า VirtualHost:
213.146.11.131:80 เป็น NameVirtualHost
         เซิร์ฟเวอร์เริ่มต้น localhost (/etc/apache2/sites-enabled/001-trupage.azmedi                                                                                                                               
         en.ch.conf:1)
         พอร์ต 80 namevhost localhost (/etc/apache2/sites-enabled/001-trupage.azm                                                                                                                               
         edien.ch.conf:1)
         พอร์ต 80 namevhost opvsg.chmedia.ch (/etc/apache2/sites-enabled/002-opvs                                                                                                                               
         g.chmedia.ch.conf:1)
รูทเซิร์ฟเวอร์: "/etc/apache2"
รูทเอกสารหลัก: "/var/www/html"
ErrorLog หลัก: "/var/log/apache2/error.log"
Mutex rewrite-map: using_defaults
พร็อกซี Mutex: using_defaults
ค่าเริ่มต้นของ Mutex: dir="/var/lock/apache2" กลไก=fcntl
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
กำหนด: DUMP_VHOSTS
กำหนด: DUMP_RUN_CFG
ผู้ใช้: name="www-data" id=33
กลุ่ม: name="www-data" id=33
Score:0
ธง in

คุณไม่จำเป็นต้องมีชื่อ DNS ในไฟล์ <VirtualHost> ไลน์. <VirtualHost *:80> ไม่เป็นไร คุณสามารถมีได้หลายอันที่เกี่ยวข้องคือ ชื่อเซิร์ฟเวอร์ คำสั่ง

รายการใน <VirtualHost> บรรทัดกำหนดเฉพาะว่า Apache ควรฟังอินเทอร์เฟซใด หากคุณป้อนชื่อโฮสต์ที่นี่ Apache จะพยายามแก้ไขให้เป็นที่อยู่ IP เพื่อค้นหาอินเทอร์เฟซที่ถูกต้อง

โพสต์คำตอบ

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