Let's Encryptで簡単SSL化
Chromeのポートフォワーディングを使ってスマートフォンでもlocalhostとしてService Workerを動作させるようにしていたが、Chrome v70に更新してから接続ができなくなってしまったので、サイトをSSL対応にし本番環境に近づけることにした。
諸事情によりIPアドレスを固定できないため、今までローカルの環境として使っていたCentOSのサイト公開は難しいと判断したので、自宅にあるサーバを使う。自宅サーバは固定IPで、ドメインも取得済みなのでホストドメインとサブドメインのSSL化をLet's Encryptを使って実現する。
Let' Encryptを使うと簡単にSSL化ができる。
```bash
sudo apt install certbot python-certbot-apche
certbot certonly --webroot -w (ディレクトリ) -d (ドメイン)
```
ディレクトリには公開しているサイトのルートディレクトリ、今回は`
/var/www/html
`とし、ドメインはサイトのホストドメインを入力する。
このままでは`www.ドメイン`や`hoge.ドメイン`などのサブドメインがSSL化されないため、サブドメインを追加するには末尾に`-d (サブドメイン)`追記していく必要がある。
```bash
certbot certonly --webroot -w (ディレクトリ) -d (ホストドメイン) -d (サブドメイン) -d (サブドメイン)
```
メールアドレスの登録や利用規約に同意し、80番接続(http)を443番接続(https)にリダイレクトするSecureに選択すると完了。
document.getElementById("mdrender").innerHTML = marked(document.getElementById("mdraw").innerHTML);
const tags = document.getElementById("mdrender").querySelectorAll("a");
for (let tag of tags) { tag.setAttribute("target", "_blank"); }
関連記事