SSLでの接続にはSSL証明書が必要である。 まずは、Let’s Encryptという証明書認証局内のCertbotというソフトウェアをインストールを行う。 インストール手順は以下を参考にしてほしい。
Amazon Linux 2 に SSL/TLS を設定する
注意:OSによってインストールの仕方が異なるので、自分が使っているOSをよく確認すること
上記の手順で進めるとドメイン登録の際に
”Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.”
とエラーが出てしまう。 そのために、httpd.confを開いてポート80に仮想ポストを設定する。
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin root@ーーーーー DocumentRoot /var/www/html ServerName ーーーーー </VirtualHost>
『ーーーーー』には自分のドメイン名を入れる。
仮想ホストを設定し、AWSとドメインの紐付けが完了したらhttpd.confは以下のように変更されている。
<VirtualHost *:80> ServerAdmin root@ーーーーー DocumentRoot /var/www/html ServerName ーーーーー RewriteEngine on RewriteCond %{SERVER_NAME} =ーーーーー RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
上記の『RewriteEngine』がオンになっていること、『RewriteCond』に自分のドメイン名が記載されていること、『RewriteRule』が記載されていることを確認してほしい。
『RewriteRule』があることによって、”http://~~~”と打っても正しいアドレスの”https://~~~”に繋げてくれるという仕組みである。