1

私のサーバー側はnginx-1.2.4 + php-5.3.17です。gzipが有効になっていないcurlを介して別のサイトのコンテンツを取得するphpスクリプトがあります。nginxにはgzipがオンになっていますが。したがって、データ フローは次のようになります。

                  plain/html                plain/html             gzipped
xxx site's html ==============> php(curl) ==============> nginx ============> user's browser

でも今はちょっと高速化のためにphp'curlのgzipを有効にしたい。次に、手順:

                  gzipped                plain/html             gzipped
xxx site's html ===========> php(curl) ==============> nginx ============> user's browser

php の curl は gzip された html をプレーンな html に自動的に解凍するため、html が nginx に渡されると、nginx は再度圧縮を行います。

私が考えているのは、phpはgzipされたデータを保持してnginxに転送でき、nginxがもう一度圧縮する必要がないということです。予想される手順は次のようになります。

                  gzipped                gzipped            gzipped
xxx site's html ===========> php(curl) ===========> nginx ===========> user's browser

よろしくお願いします。

4

1 に答える 1

1

Accept-Encodingcurl リクエストでヘッダーを送信する必要があります。

curl_setopt($cURL, CURLOPT_HTTPHEADER, array("Accept-Encoding: gzip"));

CURLOPT_ENCODINGオプションを設定しないでください。

また、nginx gunzip moduleに興味があるかもしれません。

于 2012-11-15T17:46:27.883 に答える