3月
16
2017

Let’s Encryptの証明書を発行する方法 (無停止&Basic認証)

オンラインカジノ

Vera&John(ベラジョン)オンラインカジノで,今すぐ本格カジノ体験! - 安全で楽しいカジノゲーム満載の人気急上昇中な新感覚ネットカジノで大きな勝利があなたを待っています! 今すぐ遊んで,最大$500までの100%の初回入金ボーナスを手に入れよう! オンラインカジノを楽しむための情報が満載♪稼ぐためこの攻略情報や優良サイトをランキング方式で紹介していきます。大手のオンラインカジノは、各国政府や自治領からの運営許可証(ライセンス)を受けてオンラインギャンブルが合法とされている海外で運営を行っています。つまりオンラインカジノの運営会社の存在自体にはなんら違法性はないのです。 非合法にライセンスを オンラインカジノの違法性について詳しく解説しています。日本でオンラインカジノは違法になるのでプレーされる方は違法であることを理解してプレーするようにして下さい。オンラインカジノは違法です。

無料でSSLサーバ証明書を発行可能な「Let’s Encrypt」を導入する方法を紹介しています。
Let’s Encryptでは、standaloneモードであれば、ベーシック認証サイトでも自由に証明書を発行させることができますが、サービスを停止する必要があるため、サービスを停止せずに、証明書を導入&更新するやり方を掲載しています。

Certbot クライアント導入

サーバ証明書の取得・更新に必要なソフトウェア「Cerbot」をGitからインストールします。

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/
./letsencrypt-auto --help

CentOS6でエラーとなる場合

./letsencrypt-auto: line 165: virtualenv: command not found

でエラーとなる場合は、

sudo yum install centos-release-SCL
sudo yum install scl-utils python27 python27-scldevel
scl enable python27 bash

を行い、python2.7を導入するとエラーを解消できます。

SSLサーバー証明書を取得

サーバー証明書を取得する方法は2通りあります。
①スタンドアロンで取得
②WEBサーバーを利用
※①のスタンドアロンで取得する場合は、既存の80/443ポートを使用しているアプリを停止する必要があります。

①スタンドアロンで取得する場合

/etc/init.d/httpd stop
./certbot-auto certonly -m info@example.jp --standalone --agree-tos --non-interactive -d example.jp
/etc/init.d/httpd start

WEBサーバーを利用する方法

./letsencrypt-auto certonly --non-interactive -m info@example.com --agree-tos --webroot -w /var/www/html -d example.com

ApacheでBasic認証がある場合

サーバの確認で.well-knownディレクトリを作成し、外から接続確認をするため、ベーシック認証をかけている場合は動作しません。
そのため、.well-knownディレクトリの場合は認証をスルーできるようapacheの設定を行います。

<Location "/.well-known">
    Satisfy any
    order allow,deny
    allow from all
</Location>

リバースプロキシ用のnginxの場合

リバースプロキシの目的でnginxを利用している場合はドキュメントルートが設定されていないため、.well-knownディレクトリを割り当てる必要があります。

location ^~ /.well-known/acme-challenge/ {
    root /var/www/html;
}

証明書の格納場所

証明書の発行が成功すると各証明書が以下に保存されます。Nは発行順で連番となります。

サーバー証明書(公開鍵) /etc/letsencrypt/archive/ドメイン名/certN.pem
中間証明書 /etc/letsencrypt/archive/ドメイン名/chainN.pem
サーバ証明書+中間証明書 /etc/letsencrypt/archive/ドメイン名/fullchainN.pem
秘密鍵 /etc/letsencrypt/archive/ドメイン名/privkeyN.pem

また、以下に最新の証明書へのシンボリックリンクが作成&更新されます。

サーバー証明書(公開鍵) /etc/letsencrypt/live/ドメイン名/cert.pem
中間証明書 /etc/letsencrypt/live/ドメイン名/chain.pem
サーバ証明書+中間証明書 /etc/letsencrypt/live/ドメイン名/fullchain.pem
秘密鍵 /etc/letsencrypt/live/ドメイン名/privkey.pem

WEBサーバーへの導入

Apacheの場合

発行した証明書をApacheに読み込ませる設定を行います。
ssl.confのvirtualhostに以下を設定

SSLEngine on
SSLCertificateFile      /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

自動更新の設定

cronに以下を設定します。ドメイン単位で更新を行う場合は取得時と同様のコマンドを使用します。
ここでは、WEBサーバーを利用する方法のコマンドとなります。

0 3 * * * root (/path/to/letsencrypt-auto certonly --non-interactive -m info@sample.com --agree-tos --webroot -w /var/www/html -d example.com && service httpd reload) &> /dev/null

nginxの設定

nginxの場合は次のように設定をします。

[/bash]
location ^~ /.well-known/acme-challenge/ {
  root /var/www/html;
}
1

参考

https://letsencrypt.jp/usage/

コメントする

メールアドレスは公開されません。

このエントリーをはてなブックマークに追加