Score:0

Apache proxypass css/js ไปยัง URL เฉพาะของพวกเขา

ธง cn

ฉันมีซ็อกเก็ตแบ็กเอนด์สองตัวที่ทำงานที่พอร์ต 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 เช่นกัน

โพสต์คำตอบ

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