2017-03-20 8 views
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ファイルを作成し、動作するように見えたが、私はこの問題に気づい:ブラウザのキャッシュアウト

  1. クリアをしてhttp://sub.example.comをご覧ください。サイトは問題なく立ち上がります。
  2. 次に、http://example.comにアクセスしてください。ブラウザは https://example.comにリダイレクトされています。
  3. 戻ってhttp://sub.example.comに再度アクセスしてください。 今回は、ブラウザがhttps://sub.example.comにリダイレクトされ、ブラウザが証明書の不足について不平を言っています。

どうしてですか?サブドメインにHTTPを使用する適切な方法は何ですか、ドメイン上のHTTPSですか?

+3

HSTSはありますか? - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security –

+2

あなたのHSTSヘッダに 'includeSubDomains'指示文があることを99%確信しています –

答えて

関連する問題