nginx
NginxのHTTP/3対応版が公開されました。実際に動かしていきます。(なお、現在サポートしているのはHTTP/3 draft 27版です)
2020/060/01 追記 nginx公式版が提供されました。こちらを御覧ください asnokaze.hatenablog.com NginxをHTTP/3対応させるパッチがCloudflareから提供されました (CloudflareのHTTP/3ライブラリ Quicheを利用しています。現状ではHTTP/3ドラフト23版の対応に…
追記20180922 OpenSSLも対応しました 「support for TLSv1.3 early data with OpenSSL.」 http://hg.nginx.org/nginx/rev/548a63b354a2 昨日、NginxがTLS1.3の0-RTTハンドシェイクをサポートしたので試した。無事動作することが確認できた。該当コミットはこ…
追記 [nginx-announce] nginx-1.13.9 http://mailman.nginx.org/pipermail/nginx-announce/2018/000207.html1.13.9でサーバプッシュがサポートされました 先程、Nginxでサーバプッシュをサポートするコミットが入ったので試す。HTTP/2: server push. http://…
[20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。例えば本番環境のproxyからリク…
以前書いたとおり、ApacheではリバースプロキシでバックエンドとHTTP2通信することができます。asnokaze.hatenablog.comNginxの場合は、開発者のメーリングリストでGoogleの人が書いてる「ngx_http_v2_upstream」パッチを利用することでバックエンド(upstrea…
20170214 追記このコミット(URL)で入った proxy_cache_background_update で、stale-while-revalidateを使わなくてもバックグラウンドでキャッシュ更新するように設定できるようになる模様 このコミット(URL)で、Nginxのproxy_cache機能がstale-while-revali…
昨日書いた「OpenSSLのTLS1.3対応」の続き 特に何かしたわけではないが、OpenSSLのTLS1.3対応が進んでいたのでインストールしてNginxで動かす。 ビルド openssl 今回はインストールしてしまう。 $ git clone https://github.com/openssl/openssl.git $ cd ./…
これは、nginx Advent Calendar 2016の8日目の記事です。 103 Early Hints 先日の「Apache mod_http2 で 103 EarlyHints を試す」という記事でも書きましたが。軽くおさらい。 103 Early Hintsは、@kazuho氏によって提案されている仕様です。すでに Individu…
20181016追記 Remove support for Token Binding https://chromium.googlesource.com/chromium/src/+/2243e8002e3025b3f8386c13be7437fc8b597e2achromeの実装は削除されました下記も合わせて参照のこと https://groups.google.com/a/chromium.org/forum/?nom…
CloudFlareから、「Open sourcing our NGINX HTTP/2 + SPDY code」という記事にて、NginxをHTTP2とSPDYに両方に対応するパッチが公開されました。 NginxはHTTP2対応に伴い、SPDYのコードは削除されました。しかし、一部古いブラウザはSPDYまでしか対応してな…
昨今話題にchacha20 poly1305ですが、Nginx 1.9.14で「OpenSSL 1.1.0 compatibility.」ということで早速試してみる。 git clone https://github.com/openssl/openssl.git wget http://nginx.org/download/nginx-1.9.14.tar.gz tar zxvf ./nginx-1.9.14.tar.g…
Nginxが提供する、クラウドサービスNGINX Amplifyをざっと触ってみた。 サーバにエージェントをインストールすることで、メトリックのグラフ化・Nginxのconfに関するレポート・アラート等をWebから確認できる。 グラフ OSのCPU・メモリ・ネットワーク等のメ…
opensslのバージョンに注意してください。NPNやALPNを使うのでバージョンを確認してください(追記) 本日公開されたNginx 1.9.5でHTTP2に対応しました!早速試しましょう!! ( http://nginx.org/en/CHANGES ) 今回もUbuntu14.04 (別のOSでも、パッケージor…
Nginxのhttp2の設定項目にhttp2_streams_index_sizeがある。直感的には分かりにくかったのでちょっと調べる。 そのほかのパラメータは過去に書いたとおり、「Nginx 1.9.4 HTTP/2パッチのconf パラメータ設定項目」 streams_index配列 各ストリームに関する情…
こんな感じで、Nginxの受信フレームをグラフ化する。 デバッグログからFluentdでMackerel APIを叩く感じ。 ビルド NginxのHTTP/2パッチがTrunkに取り込まれたので、改めてビルド。 wget http://hg.nginx.org/nginx/archive/tip.tar.gz tar zxvf ./tip.tar.gz…
Nginx 1.9.5でHTTP2がサポートされました。パラメータ自体は本記事から変わりません。(2015/09/23) http2_max_field_sizeの挙動が変わったようです (2015/11/12) http://hg.nginx.org/nginx/rev/1f26bf65b1bc Nginx 1.9.4 + patch.http2-v5_1.9.4.txtで使え…
HAProxy 1.5でALPNに対応していた。 HTTP/2 over TLSの通信を、HAProxyでTLSを終端することで、TLS対応を行わないであろうVarnishなどでもh2c接続が可能となる。 (HAProxy自体のhttp2対応はまだ先) 今回はバックエンドにNginxをh2cでリッスンさせて試してみ…
「nginxでアクセスログにspdyのバージョンを出す」の時と同様にlog_formatで出力できる。 nginx 1.9.3 + patch.http2-v2で試す 環境構築は「nginx1.9.3 HTTP/2 パッチを試す」 設定 http { log_format main '$remote_addr - $remote_user [$time_local] "$re…
ubuntu14.04で、Nginx1.9.3 + patch.http2-v2 + openssl1.0.2d 環境構築は「nginx1.9.3 HTTP/2 パッチを試す」 server { listen 443 ssl http2 ; ssl_prefer_server_ciphers on; #★offにすると繋がる server_name localhost; ssl_certificate xxx.crt; ssl_c…
patch v2が公開されました、すでに内容は古くなっています(2015/08/16) 前回の「nginx1.9.3 HTTP/2 パッチを試す」に引き続き、nginxのhttp/2パッチを読んでみる。 ただし、nginx初心者なのでnginx的な部分については全然理解していない...基本的には自分用…
1.9.5でHTTP2がサポートされました。Nginx 1.9.5 でHTTP2を試そう!(2015/0923) nginx 1.9.3のHTTP/2アルファパッチが公開されました。 https://www.nginx.com/blog/early-alpha-patch-http2/ 基本的には書いてあるとおりにヤレば簡単に動作します。 ubuntu1…
先日、NginxのTCP Load BalancingがOSS版でも使えるらしいので試すで書いたとおり、Nginx 1.9よりTCP Load Balancing機能が使える見込みである。 今回は、更にTLS終端を可能にするngx_stream_ssl_moduleも合わせて使用し、WebSocket over TLSの負荷分散を試…
NginxのTCP Load Balancing(ngx_stream_core_module) もともとNginx+で利用できたTCP Load Balancing機能というものがある http://nginx.com/products/application-load-balancing/ HTTPにかぎらずTCPレイヤでロードバランシグ機能を提供する。つまりMySQLや…