nginxで証明書を導入してhttpsでアクセスする
nginxにグローバルサインで取得した
クイック証明書を組み込んだときの設定方法です。
OS: Linux (ubuntu12.10)
Webサーバ: nginx1.2.2
目次
証明書のためのKeyファイルを作成する
httpsを利用したいサーバで作業を行ってkeyファイルとCSRファイルを作成。
nginxの設定ディレクトリの中にssl関連のファイルを格納します。(適度に変更してください)
$ mkdir /etc/nginx/ssl
読み込み時にパスワードを必要にしない場合
$ sudo openssl genrsa -out 2013.xxx.hoge.com.key 2048
読み込み時にパスワードを必要にする場合
# openssl genrsa -des3 -out ./ssl.key/xxxxxxx.key 2048
enter password[]: xxxxxxx
retype password[]: xxxxxxx
こんなファイルができているはず
$ ls
2012.xxx.hoge.com.key
keyファイルをもとにcsrを生成する
# 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 - スキップ
グローバルサインの証明書発行ページ(GSページ)
メニューからたどって証明書を発行するフォームに移動
- サーバ証明書管理 ➡ 証明書発行
- クイック認証
- コモンネームオプション 無し
こんな感じで次のページの技術者情報もぽちぽち選択していく。
CSRの中身をフォームに入力
CSR入力フォームが現れるので先ほど作成したCSRの中身をフォームにコピペで貼付ける
その後に支払い情報まで入力するとドメインの管理者にメールが飛んできます。
証明書(crt)と中間証明書(pem)をくっつけてnginxに設定
$ cat 2013.xxx.hoge.co.jp.crt 2013.ca.geotrast.xxx.hoge.crt > 2013.xxx.hoge.co.jp.pem
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;
...
再起動
$ sudo service nginx restart
https://xxx.hogehoge.co.jp でアクセスできればokです。
-
前の記事
Mac用 Sublime text 3でPackage Controlを導入する 2013.07.26
-
次の記事
[jQuery] 指定したクラスの要素を全て取得する 2013.08.03