【VPS】ConoHa VPS + Docker + Nginx +OpenSSL + アルファSSL で SSL化したときのメモ

Conoha VPS でアルファSSLを使用してSSL化したときのメモです。

ドキュメントが少なく手こずったのでメモを残します。

環境

・Conoha VPS
・アルファSSL
・OpenSSL
・Docker
・nginx (リバースプロキシ)
・NuxtJS (フロントエンド)
・Django (バックエンド)

ConoHa VPS でSSLを申し込む

申し込み画面

CSRを生成する

OpenSSLがインストールされているか確認してください。

# openssl version

インストールされていない場合はインストールしてください。

秘密鍵の生成

# openssl genrsa -des3 -out ./server.key 2048

CSRを生成

openssl req -new -key ./server.key -out ./server.csr

いろいろ質問されますので回答します。

フィールド 説明
Country Name国を示す2文字のISO略語です。JP
State or Province Name組織が置かれている都道府県です。Tokyo
Locality Name組織が置かれている市区町村です。Shibuya-ku
Organization Name組織の名称です。next.com
Organization Unit Name組織での部署名です。 指定がない場合は – (ハイフン)を入力してください。
Common NameウェブサーバのFQDNです。
デュアルアクセスを適用する場合はwwwが必要
www.next-k.site
Email Addres入力不要です。
A challenge password入力不要です。
An optional company name入力不要です。

生成されたcsrを開き、申し込みフォームにコピーする

認証する

認証画面まで進みDNS設定をします。

Nginx用の証明書ファイルを作成する

証明書(PEM)と中間証明書(ICA)をダウンロードする

2つの証明書を合体させてcrtファイルを作成する

-----BEGIN CERTIFICATE-----
SSL証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
SSL中間証明書
-----END CERTIFICATE-----

Nginxの設定

# # Nuxt.js
upstream web {
  ip_hash;
  server nuxt:3000;
}
 ・
 ・
 ・
server {
	listen 443 ssl;
	server_name next.com;

  ssl_certificate      /etc/nginx/ssl/server.crt; # 作成したctrファイル
  ssl_certificate_key  /etc/nginx/ssl/server.key; # 最初に作った秘密鍵

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  ssl_prefer_server_ciphers off;

  ssl_session_cache    shared:SSL:10m;
  ssl_session_timeout  10m;
	
	location / {
      proxy_set_header    Host                 $host;
      proxy_set_header    X-Real-IP            $remote_addr;
      # proxy_set_header    X-Forwarded-Host     $host;
      # proxy_set_header    X-Forwarded-Server   $host;
      proxy_set_header    X-Forwarded-For      $proxy_add_x_forwarded_for;
      proxy_set_header    X-Forwarded-Proto      $scheme;
      proxy_pass http://web;
  }
}

利用しているサービス

参考にしたページ

Docker,Nginx

Posted by Next-k