apacheの逆襲!!

今日からもう実はGWです。今日は会社にきてもこなくてもいい日です。

俺はきてますけどね。さて、いやーすばらしい。

昨日偶然o6asanさんのツィートをみていたら、

なんとapache2.4.26以降mod_brotliが実装されます!!

https://httpd.apache.org/docs/trunk/mod/mod_brotli.html

最近ニューバージョンがでることもなくさびしい思いをしていたら、

こんなことをしていたとは!!さすが、apacheです。

2.2がサポート終了するとnginxにぬかれておちぶれるのかなーと予想していたんですけどね。

ここにきてこんなことをしていたとは。案外、CTの導入も早いのかもしれません。

CTついでにこれも頂いた情報なんですが、chromeで来年4月以降に義務付けられる可能性が高いです。

https://groups.google.com/a/chromium.org/forum/m/#!msg/ct-policy/sz_3W_xKBNY/6jq2ghJXBAAJ

CTについては証明書を確認してみてください。ssllabsでも確認できます。

さらに、openssl-1.1.1もでるだろうしtls1.3も今年度中に実装させてくるでしょう。

apache2.2でhttpsにしてるサイトとhttp/2やtls1.3とbrotliとサイトと格差が開くいっぽうです。

apache2.2はもういらんでしょ。

おまけ、某所でsslの是非が議論されていました。google戦略云々の関係ではなくユーザーのためになりますので導入は正しいと思います。

しかし、個人情報扱っていないサイトがどうとかサイトが重たくなるとかいつの時代の話をしてるのか?まぁ、そのままhttpでがんばってくれればと思います。

TLS1.3完成

ここを参考にして試してみました。

https://www.noobunbox.net/serveur/auto-hebergement/nginx-tls-1-3

結果

ちゃんとtls1.3になっています。ブラウザの方はchromeのカナリアでtls1.3を有効化させました。やり方はここを参考に

http://asnokaze.hatenablog.com/entry/20160607/1465258387

ではnginxの方を解説しますとパッチの適用とopensslのgitでdraft18を指定しないとだめだったのが原因でした。それにサイファースイートの方も関係してる可能性がある。

nginxがちゃんと対応したりopenssl1.1.1がでたら、改めてnginx.confファイルを見直す必要がありそうだ。

それにtls1.3ってまだ開発段階なのかな?

そうなると例の専門書もtls1.3対応バージョンがでたら、買う必要がでてきますね。

今相当売れてるらしいが、1.3対応を買うべきだと思いますよ。

まとめます。

まだ、ブラウザの方もまだ未対応だし、焦る必要はないでしょう。

http/2同様広まるのには時間がかかると思います。

しかし、ブラウザも開発中ですしapacheも開発中でしょう。

来年の6月くらいにtls1.0が終了するんじゃなかったかな?

すぐに使えなくてもこんなものがある程度におぼえていたほうがいいでしょうね。

Nginx-1.13.0 リリース

待ちに待った新バージョンがでました。なんといっても今回の目玉はtls1.3!!!!

さっそくチェンジログをみると

Changes with nginx 1.13.0                                        25 Apr 2017

    *) Change: SSL renegotiation is now allowed on backend connections.

    *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
       directives of the mail proxy and stream modules.

    *) Feature: the "return" and "error_page" directives can now be used to
       return 308 redirections.
       Thanks to Simon Leblanc.

    *) Feature: the "TLSv1.3" parameter of the "ssl_protocols" directive.

    *) Feature: when logging signals nginx now logs PID of the process which
       sent the signal.

    *) Bugfix: in memory allocation error handling.

    *) Bugfix: if a server in the stream module listened on a wildcard
       address, the source address of a response UDP datagram could differ
       from the original datagram destination address.

nginx.confにssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;とかいてconfのテストをしても問題ない。ということでバージョンアップ。

[root@www nginx]# nginx -v
nginx version: nginx/1.13.0

tls1.3が使えるようなので、openssl-1.1.0 devをインストールして試してみた。

#cd /usr/local/src

# git clone https://github.com/openssl/openssl.git

# ./config –prefix=/usr/local/openssl-1.1.1 enable-tls1_3

# make

# make install

でopensslをインストールして試してみたら、nginx-ctモジュールでエラーが出た。

nginx-ctを抜いて–with-openssl-opt=/usr/loca/openssl-1.1.1でリビルドするとエラーがなくインストール成功。

しかし、何故かopenssl-1.0.1eを認識・・・。

--with-openssl=/root/my-nginx/openssl --with-openssl-opt=enable-tls1_3

でやると認識するぽいので試したみた。

[root@www httpd]# nginx -V
nginx version: nginx/1.13.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.1.1-dev xx XXX xxxx
TLS SNI support enabled

確かに認識するようになった・・・。しかし、chrome カナリアでtls1.3を有効化して試してみるとtls.1.2で接続する。うーん、1.3にするのはまだまだ無理かな?

それかあの本を購入する必要があるのかもしれんな・・・。

参考サイト

https://github.com/openssl/openssl/issues/963

http://asnokaze.hatenablog.com/entry/20170120/1484838876