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

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

新規登録して質問してみよう
ただいま回答率
85.50%
DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

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

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Amazon Route 53

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

Q&A

解決済

1回答

2094閲覧

Nginxで「wwwなし」を「wwwあり」URLに301リダイレクトする設定

kuroine01690699

総合スコア12

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

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

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Amazon Route 53

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

0グッド

0クリップ

投稿2021/06/19 01:40

編集2021/06/19 06:16

Nginxで「wwwなし」を「wwwあり」URLに301リダイレクトする設定

###【実現したいこと]
「example.com」を「www.example.com」にリダイレクトしたい。

###【環境】
AWS
・サーバー:EC2(Amazon Linux2)
・Webサーバー:Nginx
・ロードバランサー:ELB
・ネームサーバー:Route53
-> ホストゾーンexample.comのAレコード(www.example.com)を作成し、値にはELBのDNS名を設定

###【該当のNginx設定内容]

/etc/nginx/conf.d/myapp.conf

#「httpのwwwなしのアドレス」を「httpのwwwありのアドレス」にリダイレクト server { listen 80; server_name example.com; return 301 http://www.example.com$request_uri; } # 「httpのwwwありのアドレス」のための処理 server { listen 80; server_name www.example.com; keepalive_timeout 5; root /var/www/rails/myapp/public; try_files $uri/index.html $uri.html $uri @app; location @app { # HTTP headers proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } # Rails error pages error_page 500 502 503 504 /500.html; location = /500.html { root /var/www/rails/myapp/public; } }

※まだhttps化はしておりません

###【発生事象】
上記の設定内容でNginxを再起動後、「www.example.com」へのアクセスは問題なくWebアプリのページが表示されるが、「example.com」にアクセスしたところリダイレクトされず、"このサイトにアクセスできません"と表示される。

(digコマンドで確認しても、「example.com」のAnswerが無い)

###【質問内容】
設定内容に誤りがないか、他に設定すべき事項、考慮すべき事項が無いか、あればご指摘下さい。

###【参考にしたサイト】
【nginx】「http」「https」「wwwあり」「wwwなし」のアドレスを1つにまとめるための「301リダイレクト」設定の俺用メモ

【Nginx】wwwありとなしを統一する

落とし穴とよくある間違い

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

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

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

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

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

attakei

2021/06/19 02:47

質問時のドメインに自身のもの以外を使いたい場合、例示用のexample.comなどを使用することを推奨します。 ※ https://ja.wikipedia.org/wiki/Example.com ※ 特に現在記載されているのはすでに実在するドメインなので、所有者でないならばなるべく避けることが望ましいです その上でなのですが、 > ホストゾーンmydomain.comのAレコード(www.mydomain.com)を作成し、値にはELBのDNS名を設定 wwwなしの方のレコードには何か設定していますか?(この書き方だと設定されていないのかなとは思いましたが念の為の確認です)
kuroine01690699

2021/06/19 06:33 編集

>質問時のドメインに自身のもの以外を使いたい場合、例示用のexample.comなどを使用することを推奨します ご指摘ありがとうございます。質問のドメイン名を修正しました。 >wwwなしの方のレコードには何か設定していますか? 特に自身では何も設定しておりませんが、Route53で example.com のホストゾーンを作成した際に、デフォルトで作成されるNSレコードとSOAのみ存在します。 追加で設定必要でしょうか?その場合、設定内容ご教授頂けますと幸いです。 よろしくお願いいたします。
guest

回答1

0

ベストアンサー

(digコマンドで確認しても、「example.com」のAnswerが無い)

wwwなしからwwwありにリダイレクトする」という振る舞いを実現するためには、
wwwなしであってもDNSを設定する必要があります。
wwwなしへのリクエストをして初めてリダイレクトが行われるため)

今回だと、ELB経由のEC2でどちらのサーバー名による設定を行い、
ここでリダイレクトをさせる想定のようなので、
wwwなしにもAレコードとしてELBのDNS名を指定する必要があります。

投稿2021/06/19 06:39

attakei

総合スコア2738

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

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

kuroine01690699

2021/06/19 09:33

ご回答ありがとうございます! wwwありと同様に、wwwなしのAレコードも、ELBのDNS名を指定して作成したところ、リダイレクト成功しました!! なお、追加質問となり大変恐縮ですが、上記設定で、SEO観点からも「wwwあり」にドメイン評価が統一される、という認識でよろしいでしょうか?
attakei

2021/06/19 10:31

SEO周辺はそこまで詳しくないので断言できる話ではないですが、 リダイレクト時のレスポンスコードが301 =Moved Permanentlyですし、 そうなると考えておいてもいいのではないかなとは思います。
kuroine01690699

2021/06/19 11:14

ご丁寧にご回答いただき誠にありがとうございました!助かりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問