私は 2 つの Apache Web サーバーを持っています。1 つはパブリック、もう 1 つはプライベートです。要件は、ユーザーがPUBLICドメインにアクセスし、 PRIVATEドメインからコンテンツを取得することです。PUBLICドメインは空で、ユーザー認証に使用される .htaccess ファイルのみが含まれている必要があります。すべてのリクエストは に来てhttp://public.com:60001/
、Apache によって に書き換えられhttp://private:60001/
ます。ユーザーはPRIVATEドメインに直接アクセスできませんが、PUBLICドメインがホストされているサーバーには接続があります。
これを実現するために、 PUBLICドメインの仮想ホストを更新して、これを含めました。
<Directory "/wwwroot/public.com">
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ http://private:60001/$1 [P]
ProxyPassReverse http://private:60001/
</Directory>
これを行った後、ページは読み込まれますが、2 つの問題があります。
- Web サイトのページの html コード内のすべてのリンクは
http://private:60001/
、ユーザーがリンクをクリックすると 404 エラーが発生する形式になります (リンクがないため)。Apache がこれらのリンクを に書き換える方法はありますhttp://public.com:60001/
か? - Ajax 呼び出しが機能しない - 404 エラーが生成されます。おそらくポイント1と同じ問題が原因だと思います。
助けてくれてありがとう