dig test.example.com
test.example.com. 3600 IN A xxx.xxx.xxx.xxx
https://blog.junpeko.com/ubuntu-nginx-virtualhost
(こちらの記事で行っている設定により、http://test.example.comでアクセスできるようになります。)
snapdをインストールし、クラシックスナップサポートを有効にする必要がある。
(snap install --classic certbot)を実行するために、snapd
をインストールする
snapとは、Ubuntuではディストリビューションをまたいで利用できるユニバーサルパッケージシステム
sudo apt update
sudo apt install snapd
sudo snap install core; sudo snap refresh core
※ すでに、certbot-auto等のCertbot OSパッケージをインストールしている場合は削除してください。
apt remove パッケージ名
以下のコマンドでCertbot
がインストールされます。
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
/etc/letsencrypt/live/junpeko.tech/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/junpeko.tech/privkey.pem
/etc/letsencrypt/live/junpeko.tech/fullchain.pem
と
/etc/letsencrypt/live/junpeko.tech/privkey.pem
が設置されます。
URLをブラウザで確認してSSL化されているか確認します。
httpで接続したときに、httpsにリダイレクトする処理も入れてくれているようです。
sudo vim /etc/nginx/sites-available/test.example.com
Certbotにより、追加された行には、# managed by Certbot
のコメントが追記されていました。
server {
server_name test.example.com;
root /var/www/html/test.example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/test.example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/test.example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = test.example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name test.example.com;
return 404; # managed by Certbot
}