nginxの配置ngx_http_sub_module

1.はじめに

ngx_http_sub_module nginxのモジュール、例えば濾過敏感な単語として、部位に応じて、文字列の内容を変更するために使用されてもよいです。サードパーティのモジュールはngx_http_sub_moduleの不足を補うために、ngx_http_substitutions_filter_module、あなたが正規表現の使用を置き換えることができます。

2.安装ngx_http_sub_module

  • 変更へのインストールモジュールかどうかを確認してください
    nginx -Vサポートし、それはhttp_sub_moduleサポートが含まれている場合、ビュー、またはありません。
    ここに画像を挿入説明
    図は、翻訳パラメータは-with-http_sub_moduleに結合されたモジュールのインストールがnginxのサポートを再コンパイルする必要がない場合には、直接使用することができ、サポートされています

3.手順

subs_filter_types

  subs_filter_types

    语法: subs_filter_types mime-type [mime-types]

    默认:subs_filter_types text/html (高版本的nginx如果有写着条,那么重启服务的时候会有警告信息,因为默认就是检查 text/html的信息,与程序有重复配置)

    适用区域:http, server, location

    subs_filter_types是用来指令需要替换的文件类型,默认是text/html类型。* 表示所有类型。

    此模块无法处理经过压缩的内容,虽然能与gzip filter模块兼容,但无法处理反向代理返回的内容。当需要处理反向代理的内容时,可以使用如下语句禁用压缩:

   proxy_set_header Accept-Encoding '';

subs_filter

 subs_filter

    语法;subs_filter 源字段串 目标字段串 [gior]

    默认:无

    适用区域:http, server, location

    subs_filter指令允许在nginx响应输出内容时替换源字段串(正则或固定)为目标字符串。第三个标志含意如下:

    g(默认): 替换所有匹配的字段串。(默认可省略)

    i: 执行区分大小写的匹配。

    o: 仅替换首个匹配字符串。

    r: 使用正则替换模式,默认是固定模式。


4.設定例

この例の主な目的:

  1. 私たちの電話番号要求に指定した電話番号を交換してください
  2. ページのアドレスのすべての要求は、nginxのアドレスを行くために、要求に置き換えられます(HTML、アドレスファイルには多くのリソースがあり、AJAVX要求アドレスは、現在のnginxの行くのアドレスに置き換えなければなりません)
    ここに画像を挿入説明

注:
上記の設定手段は9090 /旅行:// IP:HTTP /ホテル/ getReview / xxxxの前方にhttp://m.elong.com/hotel/XXXX
URIのマッチング部分の場所に置き換えられますURI

5.ハング

  • 無効に圧縮(現象:ウェブリターンデータが交換されていない、CURLが正常に置き換える返さ)
    すべての時間は、nginxのアンチ世代共通の問題がsub_filterの無効です。ブラウザが圧縮を許可されているので、要求は最初のバンドが受け入れエンコードです:GZIPさん。そして、nginxののsub_filterが圧縮されたリクエストを処理できない、nginxの自体はアンパックできません。nginxの関連インタフェースをフィルタリング入力がないので、実際には、減圧プラグインを書き込むために、不可能です。
    一般的なオンラインソリューションはproxy_set_header「は」エンコード受け入れている。上流無効に圧縮、圧縮、影響を受けるクライアント側ではありません。
  • デフォルトでは、HTMLのみを交換するには、すべての種類の使用を交換したいです*

6.参照

公開された418元の記事 ウォンの賞賛745 ビュー126万+

おすすめ

転載: blog.csdn.net/u013467442/article/details/90680305