2017-01-24 49 views
0

example.comという名前のドメインが、同じIPアドレス(サーバAを想定)に「A」レコードを持つサブドメインの「n」個のサブドメインとともに存在するとします。サブドメインを除くNginxドメインスキームのリダイレクト

a.example.com、b.example.com、c.example.com ... z.example.com

CNAMEを持つ別のサブドメイン 'email.example.comは' ありmailgun」に設定.org '。

ここでは、すべてのHTTP要求をHTTPSに転送する、次のnginx構成のサーバーAを使用しています。 email.example.com mailgun.orgを指すた以外

server { 
    listen 80; 
    return 301 https://$host$request_uri; 
} 

そして443サブドメインの残りの同様

server { 
    listen 443 ssl; 
    server_name a.example.com; 
    //SSL Details 
    location/{ 
      root /var/www/a/; 
    } 

に個々のサブドメインリクエストを処理するコードブロックのセット。

今、 http://email.example.comhttp://mailgun.comにリダイレクトされます。 (DNSレベルで)

http://example.comhttps://example.comにリダイレクトされます。 (サーバーレベル)。

http://a.example.comhttps://a.example.comにリダイレクトされます。

問題(サーバレベルで):誰かがhttp://email.example.comを訪問しようとしたときhttp://example.comに訪問した後 、彼らは、ブラウザによってhttps://email.example.comにリダイレクトされています。 mailgun.orgを制御できないので、email.example.comのhttpsリクエストを処理できます

nginxの設定を行うにはどうしたらいいですか?HTTPへのリクエストはすべてemail.example.com以外のHTTPSにリダイレクトされますか?

+0

あなたが言うことはむしろ聞こえにくいです。http:// email.example.comの問題は、ブラウザやDNSで発生しているようです。したがって、nginxの設定はそれとは関係ありません。あなたの最初の行動は、DNS /ブラウザ/ nginxが実際に行っていることを経験的に特定しようとすることです。 – symcbean

+0

まず、「DNSレベルでのリダイレクト」はありません。次に、* SSLの詳細*は何を使用していますか? HSTSヘッダーはありますか? –

+0

@symcbean正確には、http:// email.example.comをhttpsにリダイレクトしないようにブラウザに指示するにはどうすればよいですか? 私はhttp://example.comにアクセスしてhttps://example.comにリダイレクトしますが、その後、ブラウザはemail.example.comでもhttpsにリダイレクトされます。 –

答えて

1

問題が見つかりました。

example.comのnginx設定をサブドメインを含めないように変更しました。

すなわち、以下のように

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; 

次の行を変更しました。、

add_header Strict-Transport-Security "max-age=31536000;" always; 

ブラウザは今やサブドメインにヘッダを追加しないように。

関連する問題