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環境
さくらインターネット株式会社
2017年2月28日開催 これで一撃! KUSANAGI x さくらのVPS資料
Http2入門の入門
Http2入門の入門
Net Kanayan
HTTP/2 入門の入門
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
shigeki_ohtsu
HTTP/2でも初めてみます?
HTTP/2でも初めてみます?
Kento Kawakami
#TUTLT での発表し量です
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
Kazuho Oku
デブサミ2016登壇資料。サーバ技術の評価軸、HTTP/2、サーバプッシュ、HTTPS化の負荷、Brotli、サーバ内スクリプティングを俯瞰
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
Kaoru Maeda
HTTP/2 draft 14, HPACK draft 09の変更点予想とIETF90でのhttpwg報告です
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
サーバの基礎と挙動を私の知り合いに知ってもらう為に作りました
Recommended
5分で作るさくらのVPSでKUSANAGI8環境
5分で作るさくらのVPSでKUSANAGI8環境
さくらインターネット株式会社
2017年2月28日開催 これで一撃! KUSANAGI x さくらのVPS資料
Http2入門の入門
Http2入門の入門
Net Kanayan
HTTP/2 入門の入門
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
shigeki_ohtsu
HTTP/2でも初めてみます?
HTTP/2でも初めてみます?
Kento Kawakami
#TUTLT での発表し量です
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
Kazuho Oku
デブサミ2016登壇資料。サーバ技術の評価軸、HTTP/2、サーバプッシュ、HTTPS化の負荷、Brotli、サーバ内スクリプティングを俯瞰
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
Kaoru Maeda
HTTP/2 draft 14, HPACK draft 09の変更点予想とIETF90でのhttpwg報告です
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
サーバの基礎と挙動を私の知り合いに知ってもらう為に作りました
HTTP2入門
HTTP2入門
Sota Sugiura
HTTP2 入門
Stuart attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
PacSecJP
PacSec2015 slides
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
Rtshell入門
Rtshell入門
openrtm
RTシステムの起動、終了を自動化するスクリプトファイルの作成方法を解説します。
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
ハイパフォーマンスブラウザネットワーキング勉強会の発表資料です
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
HTTP Status Code 425とTLS1.3 0-RTTについて
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
Web技術勉強会23回目
20120525 mt websocket
20120525 mt websocket
Ryosuke MATSUMOTO
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
Kyoto.pm Tech Talks 02 での LT の発表資料です。 WebSocket プロトコルのことを軽く話しました。
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
Kazuho Oku
YAPC::Asia 2015 講演スライド
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
Kaoru Maeda
IETF91のhttpbis WGレポートです
PHP懇親会発表資料
PHP懇親会発表資料
Sotaro Karasawa
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
id774
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
CEDEC 2021 の講演資料です。 ノートに講演で話した内容をそのまま記載ありますので、 講演内容を完全に把握したい方はダウンロードしての閲覧をお勧めします。 株式会社セガ 開発技術部 山田英伸/竹原涼
2009 PHP初心者
2009 PHP初心者
Hideo Kashioka
PHPカンファレンス2009の初心者セッション。有限会社アリウープ柏岡秀男
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料です。
20060520.tcp
20060520.tcp
Ken SASAKI
2006/5/20にフリーランスのエンジニア向け勉強会で喋った内容。 インターネットの仕組みと最近の話題について。
web server
web server
soestudio
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
ksimoji
2015/9/25に行われたAWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第9回】で使用した資料です。
Cent OS7 and RHELl7 update
Cent OS7 and RHELl7 update
Kazumi Hirose
Cent OS7 and RHELl7 update
More Related Content
Similar to 20161017 みんてくapacheでhttp/2
HTTP2入門
HTTP2入門
Sota Sugiura
HTTP2 入門
Stuart attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
PacSecJP
PacSec2015 slides
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
Rtshell入門
Rtshell入門
openrtm
RTシステムの起動、終了を自動化するスクリプトファイルの作成方法を解説します。
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
ハイパフォーマンスブラウザネットワーキング勉強会の発表資料です
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
HTTP Status Code 425とTLS1.3 0-RTTについて
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
Web技術勉強会23回目
20120525 mt websocket
20120525 mt websocket
Ryosuke MATSUMOTO
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
Kyoto.pm Tech Talks 02 での LT の発表資料です。 WebSocket プロトコルのことを軽く話しました。
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
Kazuho Oku
YAPC::Asia 2015 講演スライド
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
Kaoru Maeda
IETF91のhttpbis WGレポートです
PHP懇親会発表資料
PHP懇親会発表資料
Sotaro Karasawa
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
id774
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
CEDEC 2021 の講演資料です。 ノートに講演で話した内容をそのまま記載ありますので、 講演内容を完全に把握したい方はダウンロードしての閲覧をお勧めします。 株式会社セガ 開発技術部 山田英伸/竹原涼
2009 PHP初心者
2009 PHP初心者
Hideo Kashioka
PHPカンファレンス2009の初心者セッション。有限会社アリウープ柏岡秀男
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料です。
20060520.tcp
20060520.tcp
Ken SASAKI
2006/5/20にフリーランスのエンジニア向け勉強会で喋った内容。 インターネットの仕組みと最近の話題について。
web server
web server
soestudio
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
ksimoji
2015/9/25に行われたAWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第9回】で使用した資料です。
Cent OS7 and RHELl7 update
Cent OS7 and RHELl7 update
Kazumi Hirose
Cent OS7 and RHELl7 update
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