実現したいこと
1. システム情報
- OS: macOS
- Nginxのインストール方法: Homebrew (/opt/homebrew/Cellar/nginx/1.27.2/)
- Nginxバージョン: 1.27.2
2. 課題の概要
- 目的: Let's Encryptを使用して
www.hogehoge.com
ドメインのSSL証明書をCertbotのwebrootオプションで取得したい。 - 使用したCertbotコマンド:
sh
1 sudo ~/certbot-env/bin/certbot certonly --webroot -w /opt/homebrew/Cellar/nginx/1.27.2/html -d www.hogehoge.com --config-dir ~/certbot-config --work-dir ~/certbot-work --logs-dir ~/certbot-logs
- エラー: Certbotが
.well-known/acme-challenge
の認証に失敗し、404エラーが発生。
3. 環境設定の詳細
- Nginxの設定ファイル内容
- nginx.confの内容、特に .well-known/acme-challenge のlocation設定を記載。
sh
1 server { 2 listen 80; 3 server_name www.hogehoge.com; 4 5 # ドキュメントルートの設定 6 root /opt/homebrew/Cellar/nginx/1.27.2/html; 7 8 location / { 9 index index.html index.htm; 10 } 11 12 # Let's Encryptの認証用設定 13 location /.well-known/acme-challenge/ { 14 root /opt/homebrew/Cellar/nginx/1.27.2/html; 15 allow all; 16 } 17 18 # エラーページ設定 19 error_page 500 502 503 504 /50x.html; 20 location = /50x.html { 21 root /opt/homebrew/Cellar/nginx/1.27.2/html; 22 } 23 }
- Nginxのエラーログ(エラー発生時の関連ログ)
sh
1 2024/11/09 20:47:55 [emerg] 16012#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
- ドメインアクセス確認: curl で http://www.hogehoge.com/.well-known/acme-challenge/ へのアクセスがある場合、その結果や反応があるかを記載。
- 例: curl http://www.hogehoge.com/ ではWelcome to nginx!ページが表示される。
4. 問題解決のために試した対策
- nginx -tで設定のテスト済み。
- Certbotのエラーログ確認済み (~/certbot-logs/letsencrypt.log)。
- ufwはインストールされていないため、macOSのファイアウォールでポート80と443の接続許可を確認済み。
- ポート競合の問題は解決済みだが、引き続き404エラーが出る。
発生している問題・分からないこと
- nginxで通っている
- nginx -t コマンドで、Nginxの設定ファイルの構文チェックが成功している
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
zennで似たような記事がありましたが、解消できませんでした
補足
特になし
あなたの回答
tips
プレビュー