2017-08-25 31 views
2

ダイナミックサブドメインにアクセスできるワイルドカードSSL証明書を購入しました。私は私の設定で微以下のドメインにアクセスすることができます。Nginx HTTP/HTTPS wwwを非wwwにリダイレクト

https://test.example.co/

https://example.co/

http://example.co/はに行く - だから私はHTTPSへのすべてのHTTPを強制し、wwwを削除しています>https://example.co/

私の問題は、ユーザーが必要なサブドメインを持つことができる動的サブドメインがあることです(https://user1.example.cohttps://user2.example.cohttps://user3.example.co)。

私の問題は、私は次のように取得するときに、ユーザーが訪問http://www.user1.example.co/またはhttps://www.user1.example.co/です:

NET::ERR_CERT_COMMON_NAME_INVALID 

マイ設定:

server { 
    server_name www.example.co; 
    return 301 $scheme://example.co$request_uri; 
} 
server { 
    listen 443; 
    ssl on; 
    ssl_certificate /etc/nginx/blah; 
    ssl_certificate_key /etc/nginx/blah; 

    server_name example.co *.example.co; 

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

    location/{ 
     proxy_pass http://127.0.0.1:3000; 
     proxy_set_header X_FORWARDED_PROTO https; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-Url-Scheme $scheme; 
     proxy_redirect off; 
     proxy_max_temp_file_size 0; 
    } 
} 

私は内部証明書とロジックを削除しますが、私のしました目標はいずれもwww.を削除することです。彼らは今のように>https://user2.example.com

そしてもちろん、仕事上のすべての私のドメイン - >https://user1.example.com http://www.user2.example.com -

http://www.user1.example.com:だから、そうしたいと思います。

+0

探してイムこのためにも。あなたは 'http:// stackoverflow.com'(単に例)からのアクセスを拒否し、' http://www.stackoverflow.com'にアクセスすることを許可するようにnginxを設定できましたか?もしそうなら、教えてください。ありがとう –

+0

ワイルドカードSSL証明書は1つのレベルです: '* .example.com'は' www.example.com'と 'user1.example.com'をカバーしますが、' www.user1.example.com'はカバーしません。 https://stackoverflow.com/questions/32510641/wildcard-certificate-does-not-work-for-sub-domainとそこに追加のリンク(dupes)を参照してください。 –

+0

@ dave_thompson_085は、強制的にwww.user1.exampleを回避する方法はありませんか?または別の証明書が必要ですか?多分私を変える? * .example.comの設定です。 –

答えて

2

すべてのサブドメイン名を手元に用意しておく必要があります。

ワイルドカードを使用して複数のサブドメインを同じ証明書に含めることができます。だから、あなたはそれが証明書の再生成を必要とするようあなたは、リストに新しいサブドメインを動的に追加することはできませんを意味し、どの

*.example.com 
*.user1.example.com 
*.user2.example.com 
*.user3.example.com 
*.user4.example.com 

を使用しようとしているすべてのサブドメインを持つ証明書が必要になります。

名前の中のワイルドカードは、単一のラベルを反映し、ワイルドカードは一番左にしか置くことができません。したがって、いいえ .example.org、www。*。example.orgが可能です。 * .example.orgはexample.orgやwww.subdomain.example.orgには一致せず、subdomain.example.orgにのみ一致します。

しかし、あなたが同じ証明書内に複数のワイルドカード名を持つことができ、それはあなたが持っている可能です* .example.orgと* .subdomain.example.org同じ証明書内の

SSL Multilevel Subdomain Wildcard

関連する問題