最近では主要都市各部でのWi-Fi環境(フリースポット環境)が割と潤沢になりつつあります。今後は3G回線が定額であるとも限らない現状ではより一層Wi-Fi化が進むのかな、なんて思っていますが、フリースポットって信頼の置けるアクセスポイントではない限りは非常に危険ですよね。「FREESPOT」なんてSSIDのアクセスポイントが全開放で開いている先では、PCルータでパケトダンプされているとか・・・

で、一応WordPressに関して管理者画面をSSL化できないかと思って現在のBlogホストであるlolipopのホームページを見ていたら共有SSLに対応しているっぽい、ってことで早速SSL経由でアクセスしたらこのザマです。

no_ssl

WordPressのコンテンツベースとなるURLとSSL経由でのURLが別のドメインであるため正しくCSSや画像などが読み込まれていないようです。もちろんCAPCHAすら見れないので論外ですが、仮にユーザ名・パスワードのみだとしてもリダイレクションが正常に行われないために、管理者画面でまともな操作はできないでしょう。

ソースコード的にwp_admin_css()とかwp_admin_css_url()あたりを触ればいいのかなとか思っていたのですが一筋縄ではいかず。よくありそうな事例の割にはググっても中々でてこないのでホストサービスを行っているlolipopに質問を送ってみると・・・。

誠に申し訳ございませんが管理画面のみSSL化する設定につきましては、
WordPressの設定となりますのでWordpressの配布元にご確認いただきますようお願いいたします。

尚、こちらでは動作を確認しておりませんが下記URLにてSSL化の設定について、
プラグインが詳細されておりますのでよろしければご参考ください。

http://www.bizmemowp.com/wordpress-biz283

なるほど、pluginをなぜ調べなかったのか自分でも不思議でしたがpluginに頼ることにしよう!、ってことでSSL Adminなるpluginを追加するも・・・・、”Use Shared SSL”なんて項目は無く・・・SSL化も失敗。

別のPluginを探してみたら”WordPress SSL”なんてpluginが★5であるぢゃまいか。早速導入、plugin設定画面を眺めてそれっぽい設定をチェック、でアクセスするとバッチリ動くようです。以下、lolipopユーザ向けの導入手順ですが、別にlolipopに限らず共有SSLが提供されているホスティングサービス全般系で設定が大丈夫だと思います。

1. lolipop管理者画面に入って共有SSLアドレスの確認

Lolipopのアカウント画面にログオンしたら[アカウント情報] を選択します。アカウント情報の中に共有SSLのアドレスが記載されていますので、それをコピーします。

lolipop_account

2. WordPressで”WordPress HTTPS(SSL)”プラグインをインストール

WordPress管理者画面にログインをしたら[プラグイン]→[新規追加]を選択して”WordPress HTTPS (SSL)”で検索します。恐らくトップで引っかかるかと思いますのでインストール・有効化します。

3. WordPressHTTPSの設定を構成

同じく管理者画面の[設定]→[WordPress HTTPS]を選択して設定を構成します。図の設定は共有SSLを有効にして、且つ、管理者画面はSSLを必須とした設定になります。

ssl

管理者画面のSSLを強制とする場合は設定のコメントにあるように、wp-config.php上での FORCE_SSL_ADMIN と FORCE_SSL_LOGIN をtrueに設定できないそうです。設定すると何が起こるかは知りません・・・・。

 

以上で完了、後は実際にHTTPS経由で管理者画面にログインできるはず、です(キャプチャ有りでもOK)。個人的に気になるのは管理者画面のURLに従来どおりアクセスするとご丁寧に共有SSL側へリダイレクションしてくれるのが・・・・、これいらないのですけど・・・。だって、URLブックマーク入れるだろうし・・・。暇があれば調べてみようかな、と思いますが、まぁ放置するかもしれません。

追記、セキュアでは無い従来のURLによる管理者画面からリダイレクションされて飛んだ画面からログインをすると再度ログイン画面に戻されるというループになります。これはURLの末尾に付属するパラメータのリダイレクションURLが置き換わっていない事による現象なので、直接HTTPSのURLをブックマークに再登録するなどしてください。