nginxでhttp/2通信できるように設定したのですが、
久しぶりにサイトを確認すると 「HTTP/2 and SPDY indicator」の
色がグレイに。。。
nginxはMainlineでなくStableですが、現時点(2016/11/21)の
最新版。ALPNはサポート状態 ( openssl 1.0.2j )です。
$ nginx -V nginx version: nginx/1.10.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) built with OpenSSL 1.0.2j 26 Sep 2016 TLS SNI support enabled
facebookを確認すると青稲妻なんですよね。。。
自分のサイトだけ。Chromeの開発ツールでプロトコル確認すると
http1.1で通信している状態。
な、なぜだ。。。
結果からいうと、自分のPCに入れているウィルスソフト
ESET Smart Security V9.0が原因でした。
証明書を確認したところ、「ESET SSL Filter CA」となっており、
調べたところ「SSL/TLSプロトコルフィルタリング」が怪しい。
ESETのV9.0だと上記フィルタリングがデフォルトでONに
なっているんですが、こちらを無効もしくは「既知の証明書のリスト」に
自サイトを追加するとよいでしょう。
不要な機能なので、私はOFF設定にしました。
これで稲妻が青くなりました。
[ESET設定]
<対応策1>SSL/TLSプロトコルフィルタリングを無効にする手順
- 基本画面の左メニュー[設定]→右下[詳細設定]をクリック。
- 左メニュー[Webとメール]→画面右の[SSL/TLS]を開き、[SSL/TLSプロトコルフィルタリングを有効にする]を無効([×]印)にして[OK]ボタンをクリックします。
<対応策2>該当のWebサイトへのアクセスを許可するルールを作成する手順
- 基本画面の左メニュー[設定]→右下[詳細設定]をクリック。
- 左メニュー[Webとメール]→画面右の[SSL/TLS]を開き、[SSL/TLSプロトコルフィルタリングモード]に[対話モード]を選択して[OK]ボタンをクリックします。
- アクセスを許可したいWebサイトにアクセスします。
- [暗号化ネットワークトラフィック 信頼できる証明書]ダイアログが表示されたら、テキスト内の[信頼できる証明書]をクリックし、証明書を表示します。証明書の内容(該当のドメイン(団体)であること)を確認し、[このアプリケーションのアクションを記録する]を選択して[無視]ボタンをクリックします。
※ 本画面は、複数回表示される場合もあります。その場合は同様の手順を繰り返してください。 - 手順3でアクセスしたWebサイトが表示されることを確認します。
- 再度、ESET製品の基本画面→[設定]→[詳細設定]をクリックして、設定ウインドウを開きます。
- [Webとメール]→[SSL/TLS]を開き、[SSL/TLSプロトコルフィルタリングモード]に[ルール付き自動モード]を選択して[OK]ボタンをクリックします。
下記の様な方はESETの設定を見直してみてください。
・nginxでhttp/2対応のサーバを立てている
・nginxの設定に間違いはないはず
・opensslもALPN対応のバージョンにしてある
・http/2でなくhttp1.1通信になってしまう
・サーバログを確認するとhttp/2プロトコルでの通信も確認できる
・確認しているPCにESETのV9.0が入っている
しかし、facebookはなぜフィルタリングされないんだ!
コメント