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.comはhttps://a.mydomain.comに転送されます。他のサブドメインは構成されていません。しかし、何とかhttps://b.mydomain.comとhttps://c.mydomain.comはにリダイレクトされhttps://a.mydomain.comとhttp://a.mydomain.com、https://で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ページを表示する)のはなぜですか?
—
静的