先日、上司から「Windows × Nginx でSSL環境つくっておいて」という司令。いや、ご依頼がありました。
5分で終わるな〜と思いつつ始めたものの、普段はMacなのでWindowsでの環境構築に少々手間取りました。
ということで、次回は「5分で終わります」と答えられるように、備忘録を残す。
最終的なディレクトリ構造はこんな感じ
C:
├── OpenSSL-Win64
│ └── bin
│ └── openssl.exe
├── ssl
│ ├── server.crt
│ ├── server.csr
│ └── server.key
└── nginx
├── nginx.exe
└── conf
└── nginx.conf
証明書の生成
1. OpenSSLのインストール
ここからOpenSSLをインストールしてパスを通す。
※ インストールファイル
64bit: Win64 OpenSSL v1.1.0g Light
32bit: Win32 OpenSSL v1.1.0g Light
2. 証明書を生成する
コマンドプロンプト
$ cd /
$ mkdir ssl
$ cd ssl
$ openssl genrsa -out /ssl/server.key 2048
$ openssl req -new -key server.key > server.csr
$ openssl x509 -in server.csr -days 90 -req -signkey server.key > server.crt
Nginxの起動
1. Nginxのダウンロード
ここからStable version(nginx/Windows-x.x.x)をダウンロードして適当な場所に配置。
2. nginx.confの設定
nginx.confはダウンロードしたフォルダ内のconfフォルダに格納されている。
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate C:\ssl\server.crt; # 「2. 証明書を生成する」で生成したファイルを指定
ssl_certificate_key C:\ssl\server.key; # 「2. 証明書を生成する」で生成したファイルを指定
location / {
root html;
index index.html index.htm;
}
}
}
3. 起動
コマンドプロンプト
$ cd /nginx # 「1. Nginxのダウンロード」で配置したフォルダ
$ start nginx # 停止は nginx -s quit
$ tasklist /fi "imagename eq nginx.exe" # プロセスが起動していることを確認
確認
https://127.0.0.1 にアクセスすると「Welcome to nginx!」が表示される。
後は適宜、locationの設定を変えればOK。
はい、5分でいけますね。