nong
@nong

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Amazon Linux 2 での Certbot の使用について

解決したいこと

Amazon Linux 2 での Let's Encrypt と Certbot の使用をしたいため、
下記URLの手順で行いました。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html

「インストールの準備をする」の手順の中で、

Apache のメイン設定ファイル /etc/httpd/conf/httpd.conf を編集します。
「Listen 80」ディレクティブを見つけてその後ろに次の行を追加します。
このとき、サンプルドメイン名を、実際の共通名およびサブジェクト代替名 (SAN) に置き換えます。

<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName "example.com"
    ServerAlias "www.example.com"
</VirtualHost>

vimエディターで、「Listen 80」のディレクティブは無く、


<VirtualHost _default_:443>
General setup for the virtual host, inherited from global configuration
DocumentRoot "/var/www/html"
ServerName my-aws-infra.work:443

ちなみにポート関連に関しては、上記の通り443ついてのみの記述しかないため、対応がわかりません。

ServerName my-aws-infra.work:443

は、元々

ServerName www.example.com:443

になっていたのを編集しています。

この状態でCertbotをインストールし、実行しようとすると、以下のエラーが出ます。

発生している問題・エラー

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.

このような場合の対応方法をご教示いただきたく存じます。

0

1Answer

こんにちは。

おっしゃる内容ですが、おそらくお使いのAmazon Linux2では、セキュリティの都合から、デフォルトではHTTPではなくHTTPSを利用するように設定されているのだと思われます。

そのため、ポート443の設定はあっても、ポート80の設定はないのでしょう。

しかし、ポート80がないと怒られるのであれば、ポート80でListenするように指定してあげる必要がありそうですね。
今、80でListenする設定がhttpd.confにないのであれば、記載してあげるのがいいと思います。

Listen [IP address:] 80

こんなふうな記載です。ipアドレスは省略可能です。
設定ファイルのどこに記載しても問題はないかと思いますが、なるべく443の記載がある付近の方が、あとで見返しやすいかと思います。

これが記載できたらポート80でListenしてくれるはずなので、Virtual Hostの記載をその下に書いてみてください。
なので、追加する記載の最終形としてはこんな感じかと。

Listen 80

<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName "example.com"
    ServerAlias "www.example.com"
</VirtualHost>

念の為、一旦バックアップをとってから記載してもらうのがいいでしょうか。

この後も色々設定があるかと思いますが、最終的に問題なくApacheが起動できたら、ちゃんとポート80でListenしているかどうかは、netstat -atlなどのコマンドで調べられると思います。

ご健闘をお祈りします!

0Like

Comments

  1. @nong

    Questioner

    コメントありがとうございます!
    とても分かりやすく記載していただいたおかげで、成功しました!
    本当に助かりました。

Your answer might help someone💌