ฉันกำลังพยายามตั้งค่า 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