プロキシ経由でページコンテンツを変更する

プロキシ経由でページコンテンツを変更する

次のようなシナリオは可能ですか? 自分の Web サーバーを介してサードパーティのサイトにアクセスしたいのですが、途中でサードパーティの .CSS ファイルへのすべてのリクエストを自分のサーバー上のファイルに書き換えることは可能ですか?

答え1

はい、ただし、フェッチを実行するのはクライアントではなく、あなたの Web サーバーです。不適切な構成でこれを行うと、ネット上でオープン プロキシになる可能性があり、これはよくありません。SSL を考慮していない限り、自分のページからリモート サーバー上の CSS ファイルを直接呼び出すことで、クライアント側の並列化が向上する可能性があります。

<ifModule mod_proxy.c>
    RewriteRule http://example.com/css/pretty.css    http://othersite.com/css/pretty.css [P]
</ifModule>

これにより、mod_rewrite と mod_proxy が活用され、必要な処理が正確に実行され、サイトの pretty.css のリクエストがリモート サイトから取得され、自分のサイトであるかのように提供されます。

問題が発生する可能性があるのは、RewriteRule に正規表現を導入し始めるときです。

<ifModule mod_proxy.c>
    RewriteRule http://example.com/css/(+*)    http://othersite.com/css/$1 [P]
</ifModule>

これは、次のようなものをすべて通過しますhttp://example.com/css/../cgi-bin/mt.cfgリモート サイトに送信すると、リモート サイトはそれを正常に提供します。

関連情報