nginxで証明書を導入してhttpsでアクセスする



nginxにグローバルサインで取得した
クイック証明書を組み込んだときの設定方法です。

OS: Linux (ubuntu12.10)
Webサーバ: nginx1.2.2

証明書のためのKeyファイルを作成する

httpsを利用したいサーバで作業を行ってkeyファイルとCSRファイルを作成。

[shell][/shell]
nginxの設定ディレクトリの中にssl関連のファイルを格納します。(適度に変更してください)
[shell]
$ mkdir /etc/nginx/ssl
[/shell]

読み込み時にパスワードを必要にしない場合
[shell]
$ sudo openssl genrsa -out 2013.xxx.hoge.com.key 2048
[/shell]

読み込み時にパスワードを必要にする場合
[shell]
# openssl genrsa -des3 -out ./ssl.key/xxxxxxx.key 2048
enter password[]: xxxxxxx
retype password[]: xxxxxxx
[/shell]

こんなファイルができているはず
[shell]
$ ls
2012.xxx.hoge.com.key
[/shell]

keyファイルをもとにcsrを生成する

[shell]
# openssl req -new -key 2013.xxx.hoge.com.key -out 2013.xxx.hoge.com.pem

Country Name (2 letter code) [AU]: JP (国名)
State or Province Name (full name) [Some-State]: Iwate (とりあえず県)
Locality Name (eg, city) []: Morioka-shi (とりあえず市)
Organization Name (eg, company) [Internet Widgits Pty Ltd] : hogehoge.inc (会社名)
Organization Unit Name (eg, section) []: hoge-ka (部署名)
Common Name (eg, YOUR name) []: xxx.hoge.com (利用するURL)
Email Address – スキップ
A challenge password – スキップ
An optional company name – スキップ
[/shell]

グローバルサインの証明書発行ページ(GSページ)

メニューからたどって証明書を発行するフォームに移動

  1. サーバ証明書管理 ➡ 証明書発行
  2. クイック認証
  3. コモンネームオプション 無し

こんな感じで次のページの技術者情報もぽちぽち選択していく。

CSRの中身をフォームに入力

CSR入力フォームが現れるので先ほど作成したCSRの中身をフォームにコピペで貼付ける

その後に支払い情報まで入力するとドメインの管理者にメールが飛んできます。

証明書(crt)と中間証明書(pem)をくっつけてnginxに設定

[shell]
$ cat 2013.xxx.hoge.co.jp.crt 2013.ca.geotrast.xxx.hoge.crt > 2013.xxx.hoge.co.jp.pem
[/shell]

[text]
server {
listen 443 default ssl;
server_name xxx ;
ssl on;
ssl_certificate_key /etc/nginx/ssl.key/2013.xxx.hoge.co.jp.key;
ssl_certificate /etc/nginx/ssl.key/2013.xxx.hoge.co.jp.pem;

ssl_session_timeout 5m;

ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;


[/text]

再起動

[shell]
$ sudo service nginx restart
[/shell]

https://xxx.hogehoge.co.jp でアクセスできればokです。



コメントを残す