さくらのVPS + Let’s Encrypt + nginxでワイルドカード証明書を発行する

はい、タイトルの通りさくらのVPSでワイルドカード証明書を無事取得できたのでそのコマンド履歴などを共有します。

環境

今の環境としては以下のような状態です

  • さくらのVPS メモリ2Gプラン
  • nginx
  • 443ポート解放済
  • CentOS7(カスタムインストール)
  • クライアント MacOS

手順

淡々と行きましょう

  1. certbotをインストール

    はじめにcertbotコマンドをインストール
    ワイルドカード対応のバージョンは”epel-release”いれておけば使用出来るので、curlなどで直接落とさなくてもOKです。
    $ sudo yum -y install epel-release
    $ sudo yum -y install certbot

  2. nginxをインストール

    次にnginx。最新版をいれたいのでrepositoryを追加
    $ sudo vi /etc/yum.repos.d/nginx.repo
    下記を貼り付けて保存
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    あとは普通にインストールすればOK
    $ sudo yum -y install nginx
    $ sudo systemctl start nginx
    $ sudosystemctl enable nginx

  3. certbotコマンド実行
    下記ながーいコマンドを実行。自分の環境に応じて一部書き換えてください
    sudo certbot certonly --manual -d *.自分のドメイン -m メールアドレス --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01
    Yes Noの質問みたいなものが出ますがYesで問題ないです
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
    Please deploy a DNS TXT record under the name
    _acme-challenge.lmimsra.work with the following value:zbmSYQ47ur78EMW9nPVqcLKZNRQH0Z835RV9pcB0l04Before continuing, verify the record is deployed.
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
    Press Enter to Continue
    こんな感じの表示が出てきたらアンダーラインの部分をコピーして次に進みます。
  4. さくらのVPSコンソールでTXTを設定
    ドメインメニューを開いて、certonlyコマンドで指定したドメインのゾーン編集へ進む
    エントリ名:_acme-challenge
    タイプ:TXT
    データ:コピーしたながーい文字列
    これで登録し、別枠でターミナルを立ち上げる
    $ host -t txt _acme-challenge.ドメイン名
    これで先ほど登録した情報が表示されたらPuress Enter to Continueで止めていたcertonlyコマンドを続行します。
  5. コマンドを続行
    Puress Enter to Continueの状態でテキトーにキーを押すと何かゴニョゴニョして、処理が完了します!
    何事もなく終われば・・・
  6. 完成!
    ssl通信用のconfファイルを描いてnginxを再起動かけて完了です。
    色々省いた一例です↓
    server {
    listen 443;
    server_name www.ドメイン;
    location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    }
    ssl_certificate /etc/letsencrypt/live/ドメイン/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ドメイン/privkey.pem;error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/chare/nginx/html;
    }
    ssl on;
    ssl_protocols SSLv2 SSLv3 TLSv1;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    }

ワイルドカード証明書、面倒な手間が少ないのでぜひ使ってみましょう!

都内でエンジニアやってます 趣味で色々開発しつつのんびりと生活してます

シェアする

コメントを残す

%d人のブロガーが「いいね」をつけました。