CentOS 7.6 に Nginx をインストールして Let's Encrypt の設定をします。
abc.example.com に設定するとします。
- http(80),https(443) のポートにアクセスできるようにします。
sudo firewall-cmd --permanent --add-service=http --zone=public
sudo firewall-cmd --permanent --add-service=https --zone=public
sudo firewall-cmd --reload
- Nginx をインストールします。
sudo yum -y install nginx
設定ファイルは、
/etc/nginx/nginx.conf です。
root /usr/share/nginx/html;
を
root /var/www/html;
に変更しています。
- Nginx の起動
sudo systemctl start nginx
sudo systemctl enable nginx
ブラウザーで、http://abc.example.com にアクセスします。
- certbot のインストール
sudo yum -y install certbot
- 証明書の生成
sudo certbot certonly --webroot -w /var/www/html -d abc.example.com --email aaa@example.com
- /etc/nginx/nginx.conf の編集
/etc/nginx/nginx.conf
server {
listen 443 ssl;
server_name abc.example.com;
ssl_certificate /etc/letsencrypt/live/abc.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.example.com/privkey.pem;
}
- Nginx の再起動
sudo systemctl restart nginx
https://abc.example.com にブラウザーでアクセス
AWS などだと、OS の外でポートのアクセスに制限がかけることができるので、外部から 443 ポートにアクセスできるか確認します。
nmap -sT abc.example.com
次のように表示されれば、アクセスが出来ます。
>```text
PORT STATE SERVICE
80/tcp open http
443/tcp open https