自宅サーバで構築してるウエブサイトのHTTPS証明書

自宅サーバのウェブサイトではサイトが安全でなければと考えていたので、取り合えずOpenSSLでPrivate(CA)なるものを作って公開した。ところがGoogleで「信頼できる機関が発行した証明書を使用することをウェブサイトの要件にする」と言うことで突然に警告が表示されるようになったのだ。
そんなおり、非営利団体による発行元「Lets Encrypt」で無償のSSL証明書発行サービスがあって、Windowsサーバ(IIS)以外でも提供してることを知った。

【準備】

Windows用の「letsencrypt-win-simple」「githubからダウンロード、任意のディレクトリ(Xampp内)に解凍して、フォルダー内のLetsencrypt.exeをクリックして申請する。

【申請】

フォルダー内のletsencrypt.exeをダブルクリックするとコマンドプロンプトが起動して申請書的な文書が現れるので聞かれる問いに答えていく。
1.PublicのEmailでなく、しっかり受け取れるメールを入力。
2.利用規約に同意するか?⇒当然同意なので「y」を入力。
3.手動で証明書を生成することになるので「M」を入力。
4.サイトのドメイン名(Full)を入力。
5.apacheの設定ファイルに記載されてるDocumentRoot/wordpressまでを記入。
6.タスクスケジューラに登録しないので「No」で申請終了!

【Letsencryptの証明書】

Letsencrypt」からアクセスが来て、サイトの認証がなされ秘密鍵、公開鍵証明書、中間CA証明書が「c:\Users\user名\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\」に沢山のファイルと共にWordPressのディレクトリに.well-knownというフォルダーがアップロードされて終了する。

【WordPress(Apache)へ設定】

1.httpd.confのAriasに追記
Alias /.well-known “DocumentRoot/wordpress/.well-known”
2.httpd-ssl.confの<virtualhost:*443>欄の下部に追記
RewriteEngine On
# Redirect to the correct domain name
RewriteCond %{HTTP_HOST} !^サイトのドメイン名$ [NC]
RewriteRule ^/?(.*)$ サイトのドメイン名(Full)/$1 [NE,L,R=301]
3. 次に各証明書をapacheのhttpd-ssl.confに設定する。
a.SSLCertificateFile “Fullパス/ドメイン名-crt.pem”
b.SSLCertificateKeyFile “Fullパス/ドメイン名-key.pem”
c.SSLCertificateChainFile “Fullパス/ca-XXXXXXXXXX.pem”
*FullパスはLetsencryptの証明書が入ってるディレクトリ/

これですべき準備が完了したのでXamppのcontroll panelの apacheを再起動、問題がなければ「HTTPS」でアクセスOK!

【Windowsのregeditを開いてチェック】

PC\HKEY_CURRENT_USER\Software\letsencrypt-win-simple\https://acme-v01.api.letsencrypt.org/で詳細が分かる。

【指定された日以降に更新】

Renewal Date以降に、コマンドプロンプト(管理者権限)を開き手動で(–renewコマンド)更新する。
letsencrypt.exe –renew –baseuri “https://acme-v01.api.letsencrypt.org/”

耳寄りな情報:Lets Encryptのサイトで発見したが、来年1月から「ワイルドカード(SAN)でクライアント証明書の発行」とのこと、思い描いてるワイルドカード(*.osshinet.com)も取得できるのであれば、MailやFTPサーバにも利用可能になると思うけど。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)