私はこの正確な問題の解決策を見つけることができませんでした:
最初のアプリは、いくつかのlocalhost:3333 cssおよびjsファイルを参照する必要があります。
<link rel="stylesheet" href="/css/my-css.css"/>
<script src="/js/my-js.js" defer></script>
私はこの設定(およびバリエーション)を試しました:
<VirtualHost *:443>
ServerName qa.mysite.com
SSLEngine on
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
SSLCertificateFile "/etc/Apache2/server.crt"
SSLCertificateKeyFile "/etc/Apache2/server.key"
ProxyVia Full
ProxyPreserveHost On
ProxyPass "/" "http://localhost:3000/"
ProxyPassReverse "/" "http://localhost:3000/"
ProxyPass "/css/my-css.css" "http://localhost:3333/css/my-css.css"
ProxyPassReverse "/css/my-css.css" "http://localhost:3333/css/my-css.css"
ProxyPass "/js/my-js.js" "http://localhost:3333/js/my-js.js"
ProxyPassReverse "/js/my-js.js" "http://localhost:3333/js/my-js.js"
</VirtualHost>
私が間違っていることは何か考えていますか? :)
より具体的なProxyPassルールを最初に置く必要があります。 「/css/my-css.css」は最初に「/」を評価します。それが成り立つので、ポート3000を取得します。
それがすべてを含むフォールバックなので、ProxyPassを「/」に最後に置きます。
<VirtualHost *:443>
ServerName qa.mysite.com
SSLEngine on
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
SSLCertificateFile "/etc/Apache2/server.crt"
SSLCertificateKeyFile "/etc/Apache2/server.key"
ProxyVia Full
ProxyPreserveHost On
#Specific /css
ProxyPass "/css/my-css.css" "http://localhost:3333/css/my-css.css"
ProxyPassReverse "/css/my-css.css" "http://localhost:3333/css/my-css.css"
#Specific /js
ProxyPass "/js/my-js.js" "http://localhost:3333/js/my-js.js"
ProxyPassReverse "/js/my-js.js" "http://localhost:3333/js/my-js.js"
#Catch ALL for servername
ProxyPass "/" "http://localhost:3000/"
ProxyPassReverse "/" "http://localhost:3000/"
</VirtualHost>