web-dev-qa-db-ja.com

nginxのリバースプロキシの複数のsub_filterルール?

その場でいくつかの文字列を変更しながら、私は他のドメインでサイトをミラーリングしようとしています。

新しいホストにnginxをセットアップして、マスターサイトへのRPとして機能させます。これにより、1つの置換ルールを設定できます。

sub_filter      Originalstring  'new string';
sub_filter_once off;

ただし、 sub_filterは場所ごとに1つだけ許可する のルールをいくつか実行したいと思います。

もしあれば、ここでの解決策は何ですか?

6
Sergiks

これでnginxを1.9.4にアップグレードできます

*) Feature: multiple "sub_filter" directives can be used simultaneously.

ここで完全な変更ログを参照してください: http://nginx.org/en/CHANGES

2
Zandy

以前のものとは異なり、nginxの現在のバージョンでは、1つの場所ディレクティブで複数のサブフィルタールールを作成できます。そのようです

location / {
   resolver   8.8.8.8;
   proxy_pass http://original-domain.com;
   proxy_set_header Accept-Encoding "";
   proxy_set_header Host original-domain.com;

   subs_filter_types text/css text/xml text/css;
   subs_filter a.original-domain.com b.mydomain.com;
   subs_filter http://$Host https://$Host;
}

フィルターはいくつでも追加できます。 http://wiki.nginx.org/HttpSubsModule を参照してください

subs_filterこのコマンドを実行することにより、nginxと共にインストールされますnginx -V。探す --with-http_sub_moduleを出力します。

7
Raees Iqbal

代わりに HttpSubsModule moduleを確認してください。ドキュメントからの抜粋:

ロケーションごとにいくつかの置換ルールを指定できます

2
AlexD

私はあなたがいくつかの場所またはserver_nameをそれぞれのsub_filterで設定し、それらを介してリクエストをプロキシすることができると思います。

0