私は現在以下の問題を出しています、そして、地獄によって、私はそれを解決することができません。 >私がGoogleで見つけた20のようなスレッドは助けになりません。
まず第一に、私はこのように見えるHTTPSリダイレクトへの単純なHTTPを作成しました:
server {
listen 80;
server_name my-domain.com;
return 301 https://my-domain.com$request_uri;
}
server {
listen 443 ssl http2;
server_name my-domain.com;
...
}
そしてこれは完全にうまくいきます。開こうとすると my-domain.com にリダイレクトされます https:// my-domain.com 。しかし、それでもサブドメインには問題があります。私が開いたら www.my-domain.com または test.my-domain.com 、私はこれらのサブドメインは私のルートにリダイレクトしたいのですが HTTPS ドメイン:https:// my-domain.com。その前にサブドメインがない。 HTTPSサブドメインについても同じことが言えます。私は文字通り(今のところ)サブドメインを禁止したいと思います。
私は追加のようにたくさんの設定を試してみました * .my-domain.com それでもserver_nameには期待どおりには機能しません。 * .my-domain.comから私の通常のHTTPSドメインへのHTTPSリダイレクトを作成しようとしましたが、それでも各設定で同様の結果が得られます。
- すべてのHTTPリクエストは、サブドメインを含むHTTPS URLになります。
- すべてのHTTPSリクエストがサブドメインなしのHTTPS URLになることはありません。
今私の質問:どのように私はそれにNOサブドメインを含む特定のhttps URLにすべてのサブドメイン(httpとhttps)をリダイレクトできますか?どの組み合わせでも、常に次のようになります。 https:// my-domain.com $ request_uri
前もって感謝します
更新:
私の問題を完全に解決することはできませんでしたが、私は私が一緒に暮らすことができる何かを持っています。私のドメイン設定でwww.my-domain.comからmy-domain.comへのCNAMEを作成しました。私はまたnginxを修正し、そして443 www.my-domainからhttps:// my-domainにリダイレクトする新しいサーバー設定を追加しました。私はまたwww.my-domainからhttps:// my-domainにリダイレクトする通常のポート80サーバーを持っています。証明書を修正し、ドメインとサブドメインのリストにwww.my-domainを追加しました。これで、www.my-domain(httpまたはhttps)上のすべてのリクエストはにリダイレクトされます。 https:// my-domain 。私のドメイン(httpとwwwなし)もにリダイレクトされます https:// my-domain も。これは私のニーズにとっては「いい」と思われます。