Edited at

上司からの「Windows × Nginx でSSL環境つくっておいて」を5分で終わらせる

More than 1 year has passed since last update.

先日、上司から「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分でいけますね。