ฉันมีซ็อกเก็ตแบ็กเอนด์สองตัวที่ทำงานที่พอร์ต 9000 และ 9001 ทั้งสองมี WebUI พร้อม CSS, JS และ PHP แต่ทั้งสองเป็นเว็บไซต์ที่แตกต่างกัน และเมื่อฉันใช้ proxypass กับทั้งสองเว็บไซต์ ฉันจะโหลด css,js จาก URL ที่ร้องขอได้อย่างไร
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ProxyRequests off
DocumentRoot /var/www/html
SSLProxyEngine on
ProxyPreserveHost On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
# ServerName _
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel error
SSLEngine on
SSLCertificateFile /path/to/crt
SSLCertificateKeyFile /path/to/key
RewriteEngine on
RewriteRule ^/site1$ /site1/ [R]
ProxyPass /site1/ https://127.0.0.1:9000/
ProxyPass /vendor/ https://127.0.0.1:9000/vendor
ProxyPass /css/ https://127.0.0.1:9000/css
ProxyRequests off
ProxyHTMLURLMap https://127.0.0.1:9000/ /site1/
ProxyHTMLExtended On
<Location /site1/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyPreserveHost On
ProxyHTMLURLMap / /site1/
RequestHeader unset Accept-Encoding
</Location>
RewriteRule ^/site2$ /site2/ [R]
ProxyPass /site2/ https://127.0.0.1:9001/
ProxyPass /vendor/ https://127.0.0.1:9001/vendor
ProxyPass /css/ https://127.0.0.1:9001/css
ProxyRequests off
ProxyHTMLURLMap https://127.0.0.1:9001/ /site2/
ProxyHTMLExtended On
<Location /site2/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyPreserveHost On
ProxyHTMLURLMap / /site2/
RequestHeader unset Accept-Encoding
</Location>
</VirtualHost>
ดังที่คุณเห็นด้านบน ฉันได้เพิ่ม
ProxyPass /vendor/ https://127.0.0.1:9000/vendor
ProxyPass /css/ https://127.0.0.1:9000/css
ทั้งสองบรรทัดนี้เพื่อส่ง CSS, ไฟล์ผู้ขายไปยัง URL พร็อกซีด้วยตนเอง แต่ฉันจะทำให้เหมือนกันกับไซต์ 2 ได้อย่างไร เนื่องจาก /css ถูกเพิ่มไว้ด้านบน ในไซต์ 2 กำลังได้รับเนื้อหา css จากไซต์ 1 เอง นอกจากนี้ เพื่อให้ไฮเปอร์ลิงก์ทั้งหมดในเว็บไซต์มีเส้นทาง /site1/ และ /site2/ ฉันได้เพิ่มบรรทัด ProxyHTMLURLMap / /site2/ ในทั้งสองบรรทัด มันทำงาน แต่ไม่แน่ใจว่าทำไมไฟล์ CSS, JS ยังคงไปที่ / เส้นทางรูท เนื่องจากเส้นทางรูทไม่มีไฟล์ใด ๆ และให้ 404 ฉันจะเรียก CSS ภายในเหล่านี้ได้อย่างไร ไฟล์ JS ยังใช้คำนำหน้า /site1/ หรือ /site2/
หากไม่มี ProxyHTMLURLMap / /site2/ ลิงก์ทั้งหมดจะให้ 404 เนื่องจากคำขอไปที่ / แทน /site2/ สิ่งเดียวกันที่ฉันต้องการทำกับไฟล์ CSS/JS เช่นกัน