0
/etc/nginx/sites-enabled/example.com
ファイルにHTTPトラフィックをHTTPSバージョンのサイトにリダイレクトする基本設定があります。ドメインがNginxでhttpsを使用するときにサブドメインにhttpを使用する方法
server {
listen 80;
server_name example.com www.example.com;
rewrite^https://example.com$request_uri? permanent;
}
server {
listen 443;
server_name example.com;
ssl on;
... rest of the site configuration
}
上記はうまくいきます。 http://example.comにアクセスすると、https://example.comにリダイレクトされます。
example.comにサブドメインが必要ですが、HTTPだけが必要です。私が最初に
server {
listen 80;
server_name sub.example.com;
で始まる/etc/nginx/sites-enabled/sub.example.com
ファイルを作成し、動作するように見えたが、私はこの問題に気づい:ブラウザのキャッシュアウト
- クリアをしてhttp://sub.example.comをご覧ください。サイトは問題なく立ち上がります。
- 次に、http://example.comにアクセスしてください。ブラウザは https://example.comにリダイレクトされています。
- 戻ってhttp://sub.example.comに再度アクセスしてください。 今回は、ブラウザがhttps://sub.example.comにリダイレクトされ、ブラウザが証明書の不足について不平を言っています。
どうしてですか?サブドメインにHTTPを使用する適切な方法は何ですか、ドメイン上のHTTPSですか?
HSTSはありますか? - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security –
あなたのHSTSヘッダに 'includeSubDomains'指示文があることを99%確信しています –