2017年4月27日木曜日

HTTPSからHTTPサーバーに戻す方法(HSTS(HTTP Strict Transport Security)回避)

自分でSSL対応のWebサイトを運用していた方向けの記事です。
結論だけ書くと、.htaccessに下記の行を追加
Header always unset Strict-Transport-Security
Header add Strict-Transport-Security "max-age=0"
以上でHTTP通信ができるようになる。

詳細
近年のSSL普及の流れを受けて、自分のサイトをSSLに移行した方も多いのではないでしょうか。
しかしながら、その普及に大きく貢献していたStartComStartSSLが信用を失い、最新ブラウザからは弾かれて使い物にならなくなりました。

中国の認証局が不正な証明書、主要ブラウザが無効化を通告
http://www.itmedia.co.jp/enterprise/articles/1611/02/news082.html
(どうしてこうなった…)

そこで、Let'sEncryptに移行するか元のHTTPに戻すかという話になるのですが、Let's Encryptは有効期限が3か月しかなく、自動更新ができるユーザーでないと結構面倒です。

なので、HTTP運用に戻そうと思う方もいるでしょうが、サーバーによってはHTTPでアクセスしても強制的にHTTPSになってしまいます。.htaccessで強制していないにも関わらず強制的にHTTPSになってしまう場合、HSTSが有効になっている場合があります。

HSTSとは、一度でもhttpsでアクセスした場合、今後httpでアクセスしても、自動的にhttpsに転送するというブラウザの仕様で、これを無効化しないとHTTP通信に戻せません。
無効化するには、.htaccessファイルに上記の行を記載すれば、HTTP通信が許可され、HTTP通信に戻せます。

ちなみに、HTTPSからHTTPにリダイレクトするには、.htaccessに
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
</IfModule>
と記載。
しかしながら既にGoogleにHTTPSでインデックスされてしまうと少々厄介。
.htaccessファイルにアクセスする前に、ブラウザはHTTPSでサーバーに接続するため、その段階でStartSSLの証明書によりエラーになってしまう。
なので、301リダイレクトで早くHTTPの方にインデックスされることを祈りつつ、暫間的にLet'sEncryptでSSL設定をするしかないと思われる。
Let's EncryptのSSL証明書取得は、ネットオウルで行うのが一番簡単なため(他のレンタルサーバーを使ってようが、証明書の取得は無料でネットオウルで行える) 、ここでSSL証明書を取得して、自分の使っているレンタルサーバーでLet's EncryptのSSL設定をするのが良いと思われる。

参考ページ
Let’s Encryptの無料SSLサーバー証明書でhttpsサイト化
https://www.keypencil.com/2016/05/29/lets-encrypt-ssl/

2017年4月9日日曜日

NEC Lavie NXパッド(Elan smart pad)で、キー入力直後にタッチパッドを使えるようにする方法

ちょっと下書き気味の記事です。時間があれば画像や、書き換え用.regファイルを置きたいところです。
当事者じゃないと分かりにくいと思うが、Lavie HZに採用されているNXパッド(中身はElan Smart pad)は、キーボード入力後1秒程度、誤操作防止のためタッチパッドが反応しなくなる仕様になっていて、それを解除することができない。これは素早く操作するユーザーにとって非常に苛立つ設定となっている。今回は、それを解除する方法を書いておく。

手順
レジストリエディタを起動(Windowsキー+Rでregeditを実行)し、
DisableWhenType_Enable
を検索(Ctrl+F。検索時のチェックボックスは値だけで良い)
①HKEY_CURRENT_USER\SOFTWARE\Elantech\SmartPad
と、
②HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Elantech\SmartPad
と、
③HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Elantech\SmartPad
と、
④HKEY_USERS\"ユーザー固有のキー"\SOFTWARE\Elantech\SmartPad
の中にある、
DisableWhenType_Enable
の値をそれぞれ0にする。実際には①と④の書き換えだけで有効になったが、私は一応全部0にした。
2017年7月14日追記実際には④だけで有効になる。
またこの設定でなくても、
DisableWhenType_DelayTime_Gesture
DisableWhenType_DelayTime_Move
DisableWhenType_DelayTime_Tap
この3つの項目を規定値の1000(ミリ秒)より少なく(100とか)にするだけでも快適になる。こちらのほうが良いかもしれない。
追記ここまで

そして再起動すると、キー入力直後にもタッチパッドが使えるようになる。
キーボード入力中のマウスの誤作動防止には、パーム測定を大きめに設定し、感度を低めに設定すると良い。

詳細
NECのLavieサポートページに
Windows 10でキー入力直後にマウスやタッチパッドでクリックしてもすぐに反応しない場合の対処方法
というページがある癖に、実際にはこの通り設定してもキーボードの待ち時間を無しにはできない。
これはタッチパッドを作っているメーカーがElanという中国のメーカーで、そこのドライバを使っているためで、Windowsのマウス設定からはこのあたりの設定ができない。
かといって、NXパッドの設定を見ても、キー入力後のタッチパッドの待ち時間を変更する項目がない。
NECに問い合わせたが、解決法はWindows標準PS/2マウスドライバに差し替えるしかないといわれてしまった。
これをすると2本指ジェスチャーなどが使えなくなるため、それはそれで不自由であった(ただし、指に対する追従性は標準ドライバの方が若干良くなる)。
色々と調べたら下記動画があることを知り、若干動画とは違ったが上記手順でマウスの待ち時間を0にすることができた。


NECも、これだけ気合の入ったパソコンを売る以上、このあたりまでサポートして欲しいところである。