この記事について
今回は、AWSのRoute53で取得した独自ドメインを使ってEC2内のWebサーバーへアクセスする際に詰まったことを備忘録として残しておきます。
やりたいこと、前提条件・環境など
AWSのアーキテクチャは画像の通りです。
EC2内ではウェブサーバーのnginxを、アプリケーションサーバーのpumaを使っています。
詰まったこと
下記のページを参考に取得した独自ドメインをEC2インスタンスにルーティングしました。
トラフィックを Amazon EC2 インスタンスにルーティングする Amazon Route 53 の設定
設定を終え、独自ドメインで検索したところ、「このサイトにアクセスできません」とブラウザに表示されアクセスすることができませんでした。
試したこと
- nslookupコマンド
-
nslookup ドメイン名
を実行し、名前解決されるか確認。
→名前解決されている。
-
- セキュリティグループの設定
- EC2に設定されているセキュリティグループにおいてHTTPやHTTPSからのトラフィックが許可されているか確認。
→しっかり設定してある。
- EC2に設定されているセキュリティグループにおいてHTTPやHTTPSからのトラフィックが許可されているか確認。
- ブラウザのキャッシュを削除
- ブラウザが古いDNS情報をキャッシュしている可能性を考えて、キャッシュを削除。
→改善されず。
- ブラウザが古いDNS情報をキャッシュしている可能性を考えて、キャッシュを削除。
- Railsのホスト認証の設定
- インスタンス内のRailsアプリのproduction.rbに以下のコードを追加した。
config.hosts << "独自ドメイン"
成功!うまく表示されました。
エラーの原因
ドメイン名をRailsの設定に追加していなかったため、ドメインからのリクエストがブロックされていたことが原因でした。
以下の記事を参考に解決しました。
サルでもできる!? Rails6 のアプリをAWS EC2にデプロイするまでの全手順
まとめ
今回はRoute53で取得した独自ドメインを使ってEC2インスタンスにアクセスする際に詰まったこと、試したこと、解決方法をまとめました。
AWSを使ってアプリケーションを始めてデプロイしました。学ぶことが多く大変でしたが、無事アプリケーションへの独自ドメインを使ったアクセスができて大満足です。