Brotliの特徴 brotliは2015年に発表され、その後Googleによってアップデートされたデータ圧縮アルゴリズムです。 httpにおける圧縮アルゴリズムとして使われることを主な目的としています。従来から広く使われているgzipと比較して、圧縮率が向上していながら、圧縮/伸長速度は同程度を維持しています。ただし、SSL/TLSが必須となっています。どの程度圧縮率が向上しているのかは、Brotilの効果を参照。 圧縮に辞書を併用しているのが特徴で、辞書には”<div/>”、”before”、”普通”などの頻繁に使われるHTMLタグや各言語の表現が約1万語入っており、圧縮をより効率的にしています。 ちなみに、辞書の中身はhttps://gist.github.com/klauspost/2900d5ba6f9b65d69c8eで見ることができます。 対応状況 IE以外の主要ブラウザは1
分かる人にしか分からないタイトルにしてみました。ころすけ(@wg_koro)です。 このブログ(WordPress)はnginxとfastcgiで運用しているんですが、設定を見直していると「あれ?」と思うことが。 Cache Purgeプラグインで403 WordPressにはNginx Proxy Cache Purgeというプラグインを入れています。これはエントリーを投稿/編集/削除した時に、特定のURL(nginxのキャッシュを削除するためのURL。デフォルトは「/purge/エントリーパス」)にHTTPアクセスをしてくれるプラグインです。 アクセスログを調べると、この/purge以下のアドレスにアクセスした時に403が返されています。あれれ?本来は200か404(キャッシュが存在しない時は404)が返るはず。こりゃあかん。 原因 アクセス許可していなかった。 [shell] loc
nginx で 404をキャッシュさせないようにする場合、 add_header Cache-Control "no-cache, no-store"; return 404 "not found"; と設定しても、Cache-Control ヘッダが付与されません。 Module ngx_http_headers_module を見ると、 Adds the specified field to a response header provided that the response code equals 200, 201, 204, 206, 301, 302, 303, 304, or 307. A value can contain variables. とあるので、add_header で 404 response に Cache-Control ヘッダを追加できません。 404
先週金曜日(12/2)にクックパッドインフラ勉強会に参加しまして、そこで同社の成田さんから「今日からできるApacheモジュール開発と運用」という発表がありました。 リアルタイム画像変換モジュールの「TOFU」を開発するに至った経緯と、Apacheモジュール開発についてのお話でした。 TOFUは、S3に置かれたマスターとなる画像ファイルを取得し、与えられたパラメータでリアルタイム(オンザフライ)にリサイズ・トリミングを行うモジュール(mod_tofu)です。 料理を楽しくする画像配信システム 実際は、モジュールによる画像取得・変換をベースに、キャッシュや配信までも含めた一連の画像配信システムと言えそうです。 この仕組みをNginxを使って実装できないかと考えて、リアルタイム変換の仕組みをNginxだけで実現する方法を実験してみました。 準備するもの HttpImageFilterModul
locationディレクティブはパスの条件が評価されて選ばれたものが適応されます。この条件はパスの文字列の前方一致あるいは正規表現による評価です。この評価の順番は以下のようになります。 前方一致("=", "^~", プレフィックスなし)の条件の評価を実施 最も一致する条件を選ぶ。 選ばれた条件が、完全一致で、プレフィックスが"="であれば、そこで評価を終了し、そのlocationディレクティブを適応する。 選ばれた条件のプレフィックスが"^~"であれば、そこで評価を終了して、そのlocationディレクティブを適応する。 正規表現("~", "~*")の条件の評価を実施 正規表現の条件を設定ファイルに定義した順番に評価する。一致したら、そこで評価を終了して、そのlocationディレクティブを適応する。 前方一致の評価で選ばれた条件のlocationディレクティブを適応する。 ここで注意
そもそもXがつくヘッダはどんなものなのか 別の記事でざっくり書いたのでそちらを参照 shinkufencer.hateblo.jp X-Forwarded-Forとは クライアントからレスポンス戻る際にロードバランサーなどの仲介する某かを通る場合がある。そのような場合は純粋に送信元IPを基準に考えると、もともとのクライアントのIPがわからなくなってしまう。 そこでHTTPヘッダに元のクライアントIPの情報を乗せるときに使われるヘッダが X-Forwarded-For である。 使われ方 フォーマットと意義 クライアントのIPから始まり、あとはクライアント起点で経由したプロキシのIPをカンマ区切りで追記していく形式 X-Forwarded-For: クライアントのIP, プロキシのIPその1, プロキシのIPその2 ... こう記述することで、クライアントのIPと経由したプロキシのIPが順番
Nginxアップロードの大きいファイルのタイムアウトの解決方法 プロキシサーバーとしてnginxを使って、大きなファイルをアップロードする時(本人がテストして50 mアップロードするファイル)、アップロードのタイムアウトやファイルが大きすぎます. なぜなら、nginxはアップロードファイルのサイズに制限があり、デフォルトは1 Mです.また、アップロードファイルが大きい場合は、アップロードのタイムアウト時間を適切に調整します. 解決方法は、nginxのプロファイルに、以下の構成を加えたものです. client_max_body_size 50m; // , 1m client_header_timeout 1m; client_body_timeout 1m; proxy_connect_timeout 60s; proxy_read_timeout 1m; proxy_send_timeo
# you must set worker processes based on your CPU cores, nginx does not benefit from setting more than that worker_processes auto; #some last versions calculate it automatically # number of file descriptors used for nginx # the limit for the maximum FDs on the server is usually set by the OS. # if you don't set FD's then OS settings will be used which is by default 2000 worker_rlimit_nofile 100000
Nginx is a lightweight, high-performance web server/reverse proxy and e-mail (IMAP/POP3) proxy. It runs on UNIX, GNU/Linux, BSD variants, Mac OS X, Solaris, and Microsoft Windows. According to Netcraft, 13.50% of all domains on the Internet use nginx web server. Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn’t rely on threads to ha
Before you start playing with NGINX please read an official Beginner’s Guide. It's a great introduction for everyone. Nginx (/ˌɛndʒɪnˈɛks/ EN-jin-EKS, stylized as NGINX or nginx) is an open source HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server with a strong focus on high concurrency, performance and low memory usage. It is originally written by Igor Sysoev.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く