すべてのサブドメインが同じサービスに向けられているのはなぜですか?


1

3つのサブドメインがありa.mydomain.com, b.mydomain.com, c.mydomain.comます。ドメインプロバイダーによって次のように構成されています。

Name TTL Type  Value
a    1d  CNAME @
b    1d  CNAME @
c    1d  CNAME @

そして、サービスのnginx設定は、サブドメインaにあるはずです:

server {
  listen 80;
  server_name a.mydomain.com;
  server_tokens off;
  root /nowhere;
  ...
  rewrite ^ https://a.mydomain.com$request_uri permanent;
}

server {
  listen 443;
  server_name a.mydomain.com;
  server_tokens off;
  ...
  # ssl staff and normal config
}

したがって、http://a.mydomain.comhttps://a.mydomain.comに転送されます。他のサブドメインは構成されていません。しかし、何とかhttps://b.mydomain.comhttps://c.mydomain.comはにリダイレクトされhttps://a.mydomain.comhttp://a.mydomain.comhttps://でB。 mydomain.comはリダイレクトされません。

nginx configにserver_name設定がないように見えるのはなぜですか?私はnginxサーバーに多くのサブドメインを持ちたいです


a.mydomain.comがデフォルトのルールであるため、構成に基づきます。経験した動作を回避するために、他のドメインのルールを定義します。
ラムハウンド

デフォルトルール-すべてのサブドメインに同じリダイレクトを行いますか?しかし、明示的にのみserver { ... server_name a.mydomain.com; }
静的

これらの他のドメインのルールを作成しようとしましたか。あなたの声明も混乱しているので、もう一度読み、声明を明確にしたいかもしれません。
ラムハウンド

@static nginxは、設定がないドメイン(などb.mydomain.com)のリクエストを受信すると、最初に見つかったサーバーブロックの設定を使用します。この場合、「rewrite the domain to https://a.mydomain.com」; 最終結果はhttp://b.mydomain.comに書き換えられhttps://a.mydomain.comます。b.mydomain.comなぜ機能しないのかを尋ねる前に、設定を書きます。
ダースアンドロイド

しかし、mydomain.comは構成に含まれておらず、デフォルトのnginx welcomeページを開きます。b.mydomain.comで同じことができない(デフォルトのnginxページを表示する)のはなぜですか?
静的
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.