Submit Search
Upload
20161017 みんてくapacheでhttp/2
•
Download as PPTX, PDF
•
0 likes
•
455 views
Tomohide Murata
Follow
http://minteku.connpass.com/event/41262/ で使った資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 32
Download now
Recommended
5分で作るさくらのVPSでKUSANAGI8環境
5分で作るさくらのVPSでKUSANAGI8環境
さくらインターネット株式会社
Http2入門の入門
Http2入門の入門
Net Kanayan
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
shigeki_ohtsu
HTTP/2でも初めてみます?
HTTP/2でも初めてみます?
Kento Kawakami
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
Kazuho Oku
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
Kaoru Maeda
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
Recommended
5分で作るさくらのVPSでKUSANAGI8環境
5分で作るさくらのVPSでKUSANAGI8環境
さくらインターネット株式会社
Http2入門の入門
Http2入門の入門
Net Kanayan
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
shigeki_ohtsu
HTTP/2でも初めてみます?
HTTP/2でも初めてみます?
Kento Kawakami
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
Kazuho Oku
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
Kaoru Maeda
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
HTTP2入門
HTTP2入門
Sota Sugiura
Stuart attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
PacSecJP
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
Rtshell入門
Rtshell入門
openrtm
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
20120525 mt websocket
20120525 mt websocket
Ryosuke MATSUMOTO
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
Kazuho Oku
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
Kaoru Maeda
PHP懇親会発表資料
PHP懇親会発表資料
Sotaro Karasawa
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
id774
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
2009 PHP初心者
2009 PHP初心者
Hideo Kashioka
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
20060520.tcp
20060520.tcp
Ken SASAKI
web server
web server
soestudio
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
ksimoji
Cent OS7 and RHELl7 update
Cent OS7 and RHELl7 update
Kazumi Hirose
More Related Content
Similar to 20161017 みんてくapacheでhttp/2
HTTP2入門
HTTP2入門
Sota Sugiura
Stuart attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
PacSecJP
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
Rtshell入門
Rtshell入門
openrtm
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
20120525 mt websocket
20120525 mt websocket
Ryosuke MATSUMOTO
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
Kazuho Oku
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
Kaoru Maeda
PHP懇親会発表資料
PHP懇親会発表資料
Sotaro Karasawa
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
id774
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
2009 PHP初心者
2009 PHP初心者
Hideo Kashioka
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
20060520.tcp
20060520.tcp
Ken SASAKI
web server
web server
soestudio
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
ksimoji
Cent OS7 and RHELl7 update
Cent OS7 and RHELl7 update
Kazumi Hirose
Similar to 20161017 みんてくapacheでhttp/2
(20)
HTTP2入門
HTTP2入門
Stuart attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
Rtshell入門
Rtshell入門
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
Web技術勉強会23回目
Web技術勉強会23回目
20120525 mt websocket
20120525 mt websocket
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
PHP懇親会発表資料
PHP懇親会発表資料
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
2009 PHP初心者
2009 PHP初心者
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
20060520.tcp
20060520.tcp
web server
web server
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
Cent OS7 and RHELl7 update
Cent OS7 and RHELl7 update
20161017 みんてくapacheでhttp/2
1.
HTTP/2 in apache 今やニッチなapacheでHTTP/2を使う
2.
村田智英(むらた ともひで) - ソフトウェアエンジニア -
株式会社セレス インフラグループマネージャ @Derorisan https://www.facebook.com/tomohide.murata.1 好きなもの: D言語, perl, emacs, fedoraOS 嫌いなもの: PHP, Oracle
3.
apache使ってる人?
4.
HTTP/2でできること ページの表示が早くなります。 なんで? - 1本のTCP接続の中に複数のストリームがある。 - server
pushでhtmlを読み込むより先にコンテンツを送ることができる。(ヘッ ダー内に仕込まれます。) - https://http2.try-and-test.net/http2.html この辺みると詳しく載ってます。
5.
前提条件 - TLS1.2必須 - apache2.4必須
6.
それで困ること - apache2.2からの脱却 - サイトをHTTPS化しなければならないため外部から取ってくる画像やJSがア ウト。ADネットワークもHTTPSでなければならない。 -
サーバの負荷はあがります。
7.
でもさ。 web pushでもHTTPS必須だし。 googleもHTTPSのサイト優先するし。 最近はfastcgiでプログラムがサーバやるし。 もうそろそろネ。 apacheから脱却してH2O行ってもいいんじゃないかな。 でもいろいろモジュールいっぱいあって便利だし。
8.
必要な装備 - apache2.4 latestをオススメ(今日の時点で2.4.23) -
openssl1.0.2以降 - livev - jansson - nghttp2 - https://http2.try-and-test.net/ いつもお世話になってます。
9.
openssl - 1.0.2jを使ってください。(1.1系はapacheが対応していません。まだー?) - centos7ではまだ1.0.1eなので、自前でビルドする必要があります。 -
fedora24であれば1.0.2jが配布されています。 - configure オプションはlinuxであれば下記の通り。prefixはお好きなように。 これでsshdはyumで入れてるopensslを使い、apacheではsourceから入れたものが使われるというカオス な状態になります。 apache関係で使うツールはprefixを専用のところに入れておくのオヌヌメ。 $ ./Configure linux-x86_64 --shared $ make -j4 $ sudo make install $ ls /usr/local/ssl/
10.
libev - libeventのnext generationです。 -
ここに詳しく載ってます。 http://qiita.com/janus_wel/items/51bbd7517ab237a0b65c - yum(apt-getでも) でいいんじゃないですかね。 - 自前でビルドする場合もconfigure -> make -> make installでよいです。
11.
jansson - CのJSONパーサーです。 - yajlだったRapidJSONだったりおんなじようなものいっぱいあるんだよ。 -
デファクトスタンダードください! - ベンチマークによるとjanssonが一番はやい模様。 - YAMLにしろよ。matzに任せようぜ。rubyサイコー。(※rubyistではありません。 - これもパッケージで入れてしまってもおkです。 - どうせならsourceでいれるなら普通に./configure -> make -> make install
12.
nghttp2 - https://nghttp2.org/ こちら。
13.
14.
ん?
15.
16.
もうあるやん。
17.
Apacheいらない子。。。
18.
気を取り直して。
19.
nghttp2 - HTTP/2向けの部品がそろっています。Apacheが使うmod_http2もコチラに 入ってます。 - さっき入れたopensslやjanssonの場所を指定してあげないといけません。 -
pkgconfigのPATHを設定 - $ export PKG_CONFIG=/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/ssl/lib/pkgconfig - configure - ZLIB_CFLAGS=-I/usr/include ¥ ZLIB_LIBS=-lz ¥ OPENSSL_CFLAGS="-I/usr/local/ssl/include" ¥
20.
configure結果で下記を必ず確認しておくこと。
21.
apr, apr-util - apach2.4では分離されたのであらかじめ入れるか、apacheのconfigure時に srclibに入れればおkです。今回は後者で。
22.
apache2.4 なるべく新しい物を入れてください。 $ ./configure ¥ --prefix=/usr/local/httpd-2.4.23
--enable-cache --enable-mem-cache --enable-so -- enable-mods-shared=most --enable-ssl --with-include-apr ¥ --with-mpm=worker ¥ --enable-http2 ¥ --with-nghttp2=/usr/local ¥ --with-ssl=/usr/local/ssl
23.
how2 https://httpd.apache.org/docs/2.4/howto/http2.html
24.
証明書設定 タダでやりたければLet's Encrypt。 本番サーバ等には有料のものを使いましょう。DVだ けです。今のところワイルドカードもありません。 手前味噌ですが、どうぞ。Let's Encrypt
お試し
25.
apache loadmodule LoadModule http2_module
modules/mod_http2.so - 不要なモジュールと設定は抜いておくこと。これしないとH2Oに絶対勝てな い。(いや勝てるか知らんけど。
26.
virtualhost - http2_moduleの設定 <IfModule http2_module> ProtocolsHonorOrder
On Protocols h2 http/1.1 # 使うプロトコルの順番。h2:TLS, h2c:notTLS H2Direct on # HTTP/1.1からのアップグレードではなくいきなりh2を使える。 Header add Link "</wp-content/themes/cat_wt/style.css>;rel=preload; as=style" #sever pushで送りたい ものをヘッダーに。 </IfModule> - サイファー使う順番の設定 SSLHonorCipherOrder on SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM- SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256- SHA256:ECDHE-ECDSA-AES128-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-SHA256:DHE-RSA-AES128- SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-DSS-AES256-SHA:DHE-RSA-AES128- SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
27.
ブラウザでみてみる
28.
他と比べて速度は? - 環境や状況によって変わってくるのでなんとも・・・ - チューニングをしてやればH2Oに近づけるのではないかと。(試してないけど。 正直試してません!
29.
この組み合わせはどんな場合に使う? - 既存のサービスがapacheに深く依存している場合。 - ldap_moduleを使っているとか、mod_evasiveやmod_securityを使っているとか -
大人の理由とか。 - 今時mod_phpとかmod_perl, Passenger とか使っていて脱却できない場合 - apacheが好きな場合 - 無難にapacheを選択しておく。
30.
オススメの使い方 - やっぱりworkerで使う。preforkからの脱却 - ロードバランサとして使う。(mod_proxy_balancer) シンプルに!
31.
あれ? H2Oでいいじゃん。 @Kazuhoさんがんばれー!
32.
ご静聴ありがとうございました。
Editor's Notes
主にバックエンドを担当しています。 linuxを使っています。
apacheが好きな人? nginxが好きな人? 時代はH2Oだろ?って人? でもやっぱり仕事だとapacheになっちゃってる人? apacheでHTTP2使ってる人?
非同期イベントの通知とかしてくれるライブラリ群。 いろんなところで使われる。mysql, chromeなどでも。
Download now