ページを提供または保存する前に (vcl_fetch?)、ワニス キャッシュ サーバーでバックエンドからページ内のコンテンツを置き換える (つまり、div のクラスを変更する) ようにするにはどうすればよいですか?
ワニスでネイティブにサポートされていると思うので、単純な正規表現を使用して置換を実行したいと思います。
ページを提供または保存する前に (vcl_fetch?)、ワニス キャッシュ サーバーでバックエンドからページ内のコンテンツを置き換える (つまり、div のクラスを変更する) ようにするにはどうすればよいですか?
ワニスでネイティブにサポートされていると思うので、単純な正規表現を使用して置換を実行したいと思います。
応答本文の変更は、Varnish ではネイティブにサポートされていません。これには Varnish モジュール (vmod) が必要です。
Aivars Kalvans にはlibvmod-rewriteがあり、まさにあなたが探しているものを実行します。ただし、vmod は概念実証であり、Aivars によると、本番環境で使用する準備はできていません。あらゆる場合の出発点として使用できます。
Apache を使用している場合は、mod_ext_filterを使用して応答本文を変更できます。mod_ext_filters ドキュメントの例を次に示します。レスポンスボディは任意の外部コマンドに渡すことができるため、コンテンツに必要な変更を行うのは非常に簡単です。
# mod_ext_filter directive to define a filter which
# replaces text in the response
#
ExtFilterDefine fixtext mode=output intype=text/html cmd="/bin/sed s/verdana/arial/g"
<Location />
# core directive to cause the fixtext filter to
# be run on output
SetOutputFilter fixtext
</Location>