[さくらのVPS]nginx+wordpress管理画面のssl化

概要

wordpressの管理画面をsslで暗号化したいと思います。
用意する証明書は、いわゆるオレオレ証明書、独自に作った証明書になります。

管理画面ssl化の許可


wordpressの管理画面をssl化するときは、wordpressの設定ファイルも変更しなければなりません。
こちらに関してはwordpressのドキュメントがあります。

Administration Over SSL « WordPress Codex

参考

設定するファイルはwp-config.phpファイルになります。
ログイン画面だけsslを使用
[bash]
vim wp-config.php
define(‘FORCE_SSL_LOGIN’, true);
[/bash]
ログイン画面と管理画面をssl化
[bash]
vim wp-config.php
define(‘FORCE_SSL_ADMIN’, true);
[/bash]

証明書の作成


opensslのインストール

opensslコマンドを利用します。コマンドが見つからなかったらインストールしてください。
[bash]
sudo yum install openssl-devel
[/bash]

秘密鍵の作成

[bash]
openssl genrsa -out localhost.key -aes256 1024
[/bash]

CSR(証明書要求)の作成

CSR(Certification Signing Request) 証明書要求ファイルの作成です。
[bash]
openssl req -new localhost.key -out localhost.csr
[/bash]

自己証明書の作成

[bash]
openssl x509 -req -in localhost.csr -signkey localhost.key -out localhost.crt
[/bash]

パスフレーズの削除

webサーバーを再起動したときにパスフレーズを求められます。
そのためうまくサービスが起動できなくなってしまいます。

[bash]
openssl rsa -in localhost.key -out localhost.key
[/bash]
適宜ご自分の環境に会わせて変更してください。

nginxへ証明書を適用


[bash]
server {
listen 443;
server_name localhost;

location / {
root document_path;
index index.php index.html index.htm;
}

ssl_certificate localhost.crt;
ssl_certificate_key localhost.key;
ssl_session_timeout 10m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

if ($uri !~ ^/wp- ) {
rewrite ^(.*)?$ http://$host$uri last;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
[/bash]

ssl関連の設定項目

設定項目 解説
ssl_certificate 証明書のパス指定
ssl_certificate_key 秘密鍵のパス指定
ssl_session_timeout sslセッションのタイムアウト指定
ssl_protocols sslのプロトコル指定
ssl_ciphers 暗号化方法の指定
ssl_prefer_server_ciphers サーバ側の暗号化方法を優先する設定

sslに関しては上記の様に設定。
またhttpでwp-loginにアクセスするとhttpsにリダイレクトする設定を追加。

[bash]
server {
listen 80;
server_name localhost;
……
rewrite ^/wp-login.php?$ https://$host$uri last;
……
}
[/bash]
以上、上記の設定で終わりです。
アクセスして確かめてみてください。

証明書作成の参考にさせて頂いたページ

自己証明書を作成してnginxで使う その1 | Tangerina.jp

openssl コマンド

nginxの設定で参考にさせて頂いたページ

WordPressログインページ暗号化(SSL通信) | 楽しく情報処理技術者試験

1件のコメント

  1. Howdy, I’m speaking to oneself in direction of question if your self’re searching for a superior website link indexer. We simply include remaining the beta attempt action (GSA discussion board) and the suggestions is ideal. As yourself comprehend the previous references within the industry are fewer prosperous given that lots of Google upgrades. This is not our circumstance.
    Our company is the excellent for Google still much too index Bing and Yandex. Our formulation are all limitless, submissions AND selection of URLs, which can make them the easiest spouse for Search engine marketing organizations.

    We hence Deliver by yourself 24 hrs of screening after oneself need toward establish that we are the easiest: http://blandy.my-avantages.com/link.php?link=http://www.miniurlz.com/LP-IN2

    Key: G8D2EZ9P3

    Look at oneself quickly

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です