質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

Q&A

解決済

2回答

508閲覧

Route53に設定したドメイン名にアクセスすると、nginxのスタートページが表示されてしまう。

gurugio

総合スコア1

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

0グッド

0クリップ

投稿2023/07/19 04:02

実現したいこと

Amazon EC2をWebサーバーとして、Webアプリケーションを試作しています。
Elastic IPアドレスだけでなく、ドメイン名からもアクセスできるようにしたいです。

前提

・Djangoでプロジェクトを作成し、EC2にデプロイしました。(nginx・gunicorn起動中。)
・IPアドレスからのアクセスは問題ありません。
・お名前.comでドメインを購入、ネームサーバーを設定済です。

以前、別のプロジェクトをデプロイした時に、このドメイン名を取得して設定していました。
その時は、ドメイン名からもアクセスできました。
今回、新規プロジェクトという事で、EC2はじめホストゾーン・各レコードも作り直し、ネームサーバーの設定も変更しました。

発生している問題・エラーメッセージ

Elastic IPアドレスからはサイトにアクセスできるのですが、
ドメイン名からはアクセスできず、「Welcome to nginx!」のページが表示されてしまいます。

試したこと

仮にドメイン名を[XXX-XXX.net]として、ubuntu上で、dig XXX-XXX.net NS +shortを実行すると、Route53のNSレコードの4つの値と同じ結果が出ています。
nslookup XXX-XXX.netした結果のドメイン名とアドレスも、期待通りの値でした。

nginxの設定は、以下の通りです。
(server_nameにドメイン名とIPを列記しています。)

/etc/nginx/sites-available/config

server{ listen 80; server_name XXX-XXX.net XX.XX.XX.XX; location =/fabicon.ico {access_log off; log_not_found off;} location /static{ alias /usr/share/nginx/html/static; } location /media{ alias /usr/share/nginx/html/media; } location /{ include proxy_params; proxy_pass http://unix:/home/ubuntu/project/config.sock; } }

数日間、いろいろ検索しつつ、頭を悩ませている状態です…。
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mike2mike4

2023/07/19 08:06

質問に以下の点を付け加えてください。 ・ALBは使っているか? ・httpsではないのか?(SSLは使わないのか) ・DNSのレコードにAレコードの言及がないが、どうなっているのか?
gurugio

2023/07/20 01:51

情報不足していたようで、大変失礼しました。 ・ALBは使っていません。 ・試作版なので、httpsではありません。 ・Aレコードについて、「レコード名」は空、「ルーティングポリシー」はシンプル、値に「XX.XX.XX.XX(Elastic IPアドレス)」を設定しています。
guest

回答2

0

自己解決

すみません、自己解決しました。
今日になって、ドメイン名でアクセスしようとしたところ、「BadRequest(400)」の結果が表示された事で気付きました。

Djangoのsettings.pyの中で、デプロイ時にサービスを提供するホストの「ALLOWED_HOST」に、IPアドレスのみを記載していました。
ドメイン名を追加し、ALLOWED_HOSTS = ['XX.XX.XX.XX', 'XXX-XXX.net']」と変更したところ、ドメイン名からでもアクセスできるようになりました。

Route53やお名前.comの設定ミスかな…と思い込んでいたので、Django上の初歩的ミスを見逃していました。申し訳ありませんでした。

ご質問・ご回答、まことにありがとうございました!

投稿2023/07/20 02:21

gurugio

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

nginxは使ったことはありませんが、

nginxでsites-availableとsites-enabledを用いたバーチャルホストの設定

sites-available 以下のファイルは、sites-enabled 以下にシンボリックリンクを貼らないと有効になりません。
あと、デフォルトの設定を無効にするならば、おそらく sites-enabled にデフォルト設定へのシンボリックリンクがあると思うので、消しておいた方がいいでしょう。

apacheだと、その辺りをa2ensitea2dissite というコマンドでできるのですが、nginxにはないようですね。


投稿してから気づいたけど、IPアドレスでアクセスできるのであれば、これらはやっているということでしょうかね?
削除リクエストを出してまで消すほどでもないと思うので、とりあえず回答は残しておきます。

投稿2023/07/19 23:25

編集2023/07/19 23:31
katsuko

総合スコア3471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gurugio

2023/07/20 02:03

ご回答ありがとうございます。 はい。シンボリックリンクを貼っており、IPアドレスからは動作するので、nginxの設定は生きていると思うのですが…上手くいかず。 今後apacheを使用する場合、コマンド参考にさせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問