ほぼ完全にhttps対応[追記あり]
https対応をさらに進めました。基本的には次の施策で終了していますが、更に徹底させました。
- StartSSLの証明書取得と設定完了[追記あり] : プラスα空間 (2014年4月22日)
- https対応 : プラスα空間 (2014年8月8日)
https以外のアクセス(443ポート以外のアクセス)を全てhttpsアクセスにリダイレクトします。.htaccessの設定は次の様にしています。
# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
</IfModule>
次ウェブページを参考にさせていただいています。ありがとうございます。Thank you!
- .htaccessでHTTPアクセスをSSLでリダイレクト(逆もアリ) – hogehoge foobar Blog Style5
- Apache SSL in htaccess examples
- Technical Memorandum: CGIの環境変数 SERVER_NAME と HTTP_HOST
(追記 2015-04-22 00:41 この方法だとLocationヘッダが入らずにリダイレクトされるので、あまり良くないかもしれません。)
(追記 2016-01-23 16:34 いまは、この方法によるリダイレクトはしていません。)
WordPress側では、次のプラグインを入れています。
- WordPress › WordPress HTTPS (SSL) « WordPress Plugins
- WordPress › HSTS – HTTP Strict Transport Security enforcement plugin « WordPress Plugins
HSTSの方は、そのままだと上手く動かなくて、場当たり的に次の様に修正しています。$maxageの設定値が小さすぎるのです。管理画面から設定できる様に設計されているのですが、うまく動きませんでした。
function hsts_header()
{
$options = get_option('hsts_settings_section');
$maxage = 604800;
$maxage = 15724800;
$subdomains = '';
/*
if (is_numeric($options['hsts_maxage_setting']))
$maxage = $options['hsts_maxage_setting'];
if ($options['hsts_subdomains_setting'] == 'on')
$subdomains = 'includeSubDomains';
*/
if (isset($_SERVER['HTTPS']))
header("Strict-Transport-Security: max-age=$maxage; $subdomains");
else if ($options['hsts_redirect_setting']) {
header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true, 301);
}
}
HSTSの設定値は、次のウェブページを参考にさせていただいています。Thank you!
ここまで設定しても、セキュリティランクがBになってしまいます。opensslで鍵を作る時、CipherからRC4を外すのを忘れてました…。SmartCOMだから、作り直しはできないし…。(できるけど有料)
一応、.htaccessの中で、SSLCipherSuiteを設定して、RC4では接続できない様に設定してあるはずです。
他、GoogleウェブマスターツールとBing Webマスターツールに、httpsでのURLを伝えてあります。
ディスカッション
コメント一覧
まだ、コメントがありません