1

このように構成されたnginxの下にサイトがあります(1つのIP上の両方のドメイン):

server {
  listen   443;

  ssl on;
  ssl_certificate /etc/ssl/certs/oldsite.com.pem;
  ssl_certificate_key /etc/ssl/private/oldsite.com.ca.key;

  server_name oldsite.ca;

  rewrite ^(.*) https://newsite.com$1 permanent;
}

server {
  listen   443;

  ssl on;
  ssl_certificate /etc/ssl/certs/newsite.com.pem;
  ssl_certificate_key /etc/ssl/private/newsite.com.ca.key;

  server_name newsite.com

  ...
}

何らかの理由で IE (IE9 で試行) は構成された最初の証明書しか表示しないため、https: //newsite.com にアクセスすると、oldsite.com 証明書が提示された証明書無効メッセージが表示されます。サーバーブロックの順序を変更すると、https: //newsite.com は正常に機能しますが、リダイレクト (書き換え) は機能しません (現在、newsite.com 証明書のみが表示されるため、もちろん、ヒット時に無効であると不平を言っています) oldsite.com)。

任意のアイデア、なぜ (単に IE であることに加えて) それぞれのドメインの両方の証明書が表示されないのですか?

4

1 に答える 1

3

同じIPアドレス/ポートの組み合わせで複数の証明書を使用できるようにするために、サーバー名表示を明らかに使用しようとしています。お使いのバージョンのnginxがそれをサポートしていることを確認する必要があります(ドキュメントで説明されています)。

これは、WindowsVistaおよび7のIE9でサポートされているはずですが、XPのIEのどのバージョンでもサポートされていません。

于 2012-07-20T16:23:03.860 に答える