nginxの高度な使い方

キャッシュキーを決定するためのURLパラメータ

set_by_lua_block $ dataArg {
ローカルENC = ngx.req.get_uri_args()[ "ENC"]
ローカルキー= ngx.req.get_uri_args()[ "キー"]
ローカル名= ngx.req.get_uri_args() "名前"]
ローカルSTR =のtoString(ENC)...のtoString(キー)...のtoString(名前)
戻りSTR
}
proxy_cache_key $ホスト$ uriの$ dataArg。

第二に、クロスドメインで最初のパスに係る判定を行うためにソース局

$ cors_origin "*"を設定します。
もし($ http_origin = ""!){
$ cors_origin $ http_origin設定します。
}
more_set_headers「アクセス制御-許可-起源:$ cors_origin」。

第三には、オペレータによって異なる上流を​​取ります

図1に示すように、下層送信要求ヘッダ:

 位置/ {

             proxy_buffer_size   128Kを。

             proxy_buffers   32 32K。

             128Kをproxy_busy_buffers_size。

             proxy_set_header   ホスト$ホスト;

             proxy_set_header CDN ctyun。

             proxy_set_headerのX-転送さ-についてREMOTE_ADDR $;

             CM&LT ISP proxy_set_header;    #CM&LTは頭部(移動)するための要求を送信します

             add_headerパワード・バイ・ctcdn $ SERVER_ADDR

             proxy_cache $ cache_store。

             proxy_passの$スキーム://テストupstream_ $スキームの$ SERVER_PORT。

    }

2、判断を下すために、上位層

サーバー{

    80を聞きます。

    サーバー名www.test.com ;

    8.8.8.8解決114114114114。

    underscores_in_headers ON; 顧客は、カスタムヘッダー値を読み込む開く#nginx

 

    error_logに  /data/log/nginx/error.log;

    access_logの/data/log/nginx/access.log nginxlog。

 

    位置/ {

             proxy_buffer_size   128Kを。

             proxy_buffers   32 32K。

             128Kをproxy_busy_buffers_size。

             proxy_set_header   ホスト$ホスト;

             proxy_set_header CDNテスト。

             add_header "$ SERVER_ADDR" を搭載。

             proxy_cache $ cache_store。

   通信は、アップストリーム通信をバックアップ;チャイナユニコムのモバイル通信機器があれば##ここに低いという点で、上側移動上流側へ戻す必要性;ユニコムユニコムバック上流。

            もし($ http_isp = "CT"){

               $スキームproxy_pass:// テスト- ct_ $スキームの$ SERVER_PORTを、

        }

            もし($ http_isp = "CN"){

               proxy_passの$スキーム://テスト-cn_ $スキームの$ SERVER_PORT。

        }

            もし($ http_isp = "CM"){

               proxy_passの$スキーム://テスト-cm_ $スキームの$ SERVER_PORT。

        }

 

    }

 

図3に示すように、上部上流構成

上流の試験-cm_http80 {

server 1.1.1.1:80;

}

upstream test-cn_http80 {

server 2.2.2.2:80;

}

upstream test-ct_http80 {

server 3.3.3.3:80;

}

 

おすすめ

転載: www.cnblogs.com/zhangzhide/p/12359740.html