SSL

CloudFlareのSSLオプションは遅いのか

CloudFlareって無料で使えて機能も多くてよく使っています。 目玉な機能の1つにSSLが無料で使える機能がありますが ベンチマークを取る機会があったので記事にでもしようと思います。   CloudFlare -> Crypto SSL CloudflareのSSLオプションには3種類あります。 Flexible SSL CloudFlare – Origin server 間は HTTP で通信し、 エンドユーザーと CloudFlare 間は HTTPS で通信する   Full SSL エンドユーザー – CloudFlare 間だけでなく、 CloudFlare – Origin server 間も HTTPS で通信する(オレオレ証明書でOK)   Full SSL (strict) Full SSL と同様 オレオレ証明書ではなく認証局から発行されたきちんとした証明書が必要     ベンチマーク 今回はFull(strict)以外で比較を行います。 DBと連携しているAPIサーバーに対して、 インターネットの向こう側からGo言語で書かれたheyというツールを使って ベンチマークを行います。 CloudFlare の Cache 機能は全て無効の状態です。 https://github.com/rakyll/hey $ hey -n 6000 -c 600 -q 10 -m POST -D ./a.json -T "application/json" -h2 https:// 同時接続数600 &トータル6000リクエスト & 10秒以内 Requests/sec と Response timeの平均を見ていきたいと思います。   HTTP + CloudFlare(Proxied) [crayon-5b0457532fc1f172606791/] Requests/sec : 1193.3303 Average: 0.4119 secs   HTTP (No Proxied) [crayon-5b0457532fc32308802223/] Requests/sec : 1269.1202 Average : 0.3751 secs   HTTPS + CloudFlare(Flexible) [crayon-5b0457532fc36946548700/] Requests/sec : 1127.3389 Average : 0.4390 secs   HTTPS + CloudFlare(Full) [crayon-5b0457532fc39317323442/] Requests/sec : 1169.9248 Average…

nginx + リバースプロキシ + SSL でWordPressを動かす

1日10万PVぐらいのWordpressを管理することになってどうがんばっても8秒を切れない。 そこでテスト環境に入れた nginx + リバースプロキシ + SSL でWordpressを動かした時のコンフィグを覚書として。 nginx.conf [crayon-5b045753302f3164226380/] [crayon-5b04575330309675953235/] SSLで動かす際に大事なのがこれで、この記述がないと [crayon-5b0457533030c214547424/] こんな感じにコンテンツがブロックされて、レイアウトが崩れた誰もが1度は見たことある状況になります。 ちなみに [crayon-5b0457533030d787513628/] この記述はなくても普通に動く。ヘッダーに設定すればこの記述は不要なのかなと思って [crayon-5b0457533030f190923831/] これを消して [crayon-5b04575330311262383975/] これだけの記述にしたけど同様に [crayon-5b04575330312291750018/] と怒られた。   default.conf [crayon-5b04575330314082812558/]     mobile_cache_setting [crayon-5b04575330317601002025/]     php_exec [crayon-5b0457533031a475484670/]   WordPressで記事更新時などのキャッシュ削除は Nginx Cache Controller を使うようにした。 もう1つ名のしれてるやつは、パッケージから入れた場合 ngn_cache_purge モジュールが入ってないために使えない”らしい”。 Nginx Cache Controller はキャッシュディレクトリと、レベルを指定することで同じことを実現してるのかな? ngn_cache_purge モジュールを使ったことないので適当に言いました!

GMOとくとくBBでHTTPS(443)が40Kb/sしか出ない

WordPressをHTTPSで運用するようになってから やけに遅くなるように感じて画像一枚アップロードするに関しても5分かかるようになった。 と試しにHTTPとHTTPSでダウンロード速度測る。 [crayon-5b04575330592263205117/] 上記、HTTPS 画像のダウンロードですら7Kb/sしか出ない。辛いものだ。   [crayon-5b045753305a0015250563/] HTTP 16.1Mb/sも出る!感動!なんだこの差は! と、クソGMOポート規制しやがって死ねって思いながら電話した。 得られた回答は 「こっちで規制なんてしてないからルーター再起動してみてくれとのこと。」 んなんで直るわけねえだろうんちって思いながらルーターを再起動した。 電源OFFの時間が短かったのかIPアドレスは変わらず。 もう一度試してみる。   [crayon-5b045753305a5763216281/] あ~~~れ~~~www なんでやろうな~~~ww GMOさんすまんやで~~w ということでルーター再起動するだけで特定ポートの速度低下が改善出来る。 理由は知らないけど分かる人いたら教えて下さい。

無料SSLの「StartSSL」を使ってみた on Nginx CentOS6

なんとなくやり方~みたいなタイトルですがビバ Qiita です!   StartSSLとは何か StartCom CA のサービスで1年なら0円でSSLを発行出来ます。 サイト自体は英語ですが色々なとこでやり方が書かれています。ありがとう。 無料のSSL証明書StartSSLを活用する – Qiita  この人は丁寧にNginxでの設定方法も書かれているので参考にしました。     WordPressで使うと一部エラーみたいな WordPress特有って訳じゃないですけど、コンテンツがhttpのリソースを読み込みにいってるため 上記のように一部エラーみたいなアイコンになります。   本来であればこうなって欲しい Google Chromeならデベロッパーツールでどこのリソースが読み込んでるかわかりやすく表示してくれるけど全部やるのは 面倒なのでこのまま放置しようと思います。     なんでHTTPSにしたか 『HTTPSをSEOで優遇』 SSL化を推奨するアルゴリズム導入をGoogleが公式発表 –  SEO HACKS 徐々に強化されるっぽいので今のうちにやっといた。 ただ1年間だけ無料なのでそれが過ぎたらRapid SSLなりKing SSLに以降すると思う。

https!?SSL!?とは何か

  自分のやりたいことがサーバーエンジニアなのですごい基本的なことは今のうちに覚えていこうかなと思ったのでただのチラ裏記事です。 自分で調べて自分なりにまとめてるの間違いがあったら指摘してくださるとものすごく嬉しいです。   HTTPSとは何か HTTPSとはセキュリティー機能を追加したWebサーバーとの通信手段のひとつでSSLを用いて暗号/復号化し、TCP443ポートを使用する。個人情報や、クレジットカードなどを送信するときに主に使われる。   SSL(Secure Socket Layer)とは何か SSLによる暗号化通信は公開鍵(Public Key)、秘密鍵(Private Key)、共通鍵の3つから成り立つ。 暗号化したものはもちろん復号化しないともちろん読み込めない。そこで暗号化されたものを復号化するのに必要になってくるのが上記3つ。   公開鍵(Public Key)とは何か クライアントがサーバー側に暗号化データを送信する際に、サーバーから送られてくる鍵のことです。 例えば通販サイトなどでAさんが住所などを記載するページは、サーバー側から公開鍵を添付して送信しています。そして通販側は色んな人に買ってもらう必要があり、色んな人に鍵を送信するため公開鍵と呼ばれています。   秘密鍵とは何か そして公開鍵を含んで暗号化されたデータをサーバー側で復号化するために用いられるのが秘密鍵です。この秘密鍵はサーバー側が第三者に知られること無く厳重に保持しておく必要があるものです。   公開鍵と秘密鍵の弱点 ・公開鍵は誰にでも作成することが出来てしまうので通信の途中で悪意のある第三者が割り込んで公開鍵で暗号化されたデータをサーバー側に送信してしまう恐れがあること。 ・公開鍵と秘密鍵を用いた暗号化は思いのほかコンピュータに負荷がかかり、アクセスが多いサイトなどでは対処しきれずSSLアクセラレータと呼ばれる専用ハードウェアが出るほど。 以上、2つの理由から共通鍵を用いたハイブリッド暗号というものがある。   ハイブリッド暗号方式とは何か 上記の公開鍵と秘密鍵を用いた公開鍵暗号方式は安全ではあるが処理に時間がかかるという短所があるためそれを改善するために開発されたのがハイブリッド暗号方式。 ①クライアント側は秘密鍵を作成する。②上記の秘密鍵をクライアント側の公開鍵で暗号化して送信する。(クライアント側の秘密鍵で復号化するため)③サーバー側の秘密鍵で、クライアント側の秘密鍵を復号化。(理由は上記同様)④サーバーはデータを共通鍵で暗号化し、共通鍵をクライアント側の秘密鍵で復号化出来るように暗号化する。⑤サーバー側から送られきたクライアント側の秘密鍵で復号化出来る共通鍵を復号化。⑥復号化した共通鍵を用いてサーバーから共通鍵で暗号化されたデータを復号化する。 恐らく間違いがありそう。