【问题标题】:Domain without ssl certificate redirecting to different ssl domain没有 ssl 证书的域重定向到不同的 ssl 域
【发布时间】:2017-02-27 09:13:05
【问题描述】:

我在 Digital Ocean droplet(使用 nginx)上设置了两个域。我已经在其中一个(domain1)中安装了 SSL 证书,并且该证书一切正常。第二个域 (domain2) 不需要 SSL 证书,但如果我尝试访问 https://domain2 会显示 domain1 的内容并给我一个证书错误(此页面不安全)。

我了解证书错误,但我不希望 domain1 的内容显示在 https://domain2

是配置问题吗?

【问题讨论】:

    标签: ssl nginx


    【解决方案1】:

    nginx 始终有一个默认服务器,如果server_name 不匹配,则使用该服务器。如果您只有一个带有listen 443 的服务器块,那么无论服务器名称如何,这都是所有https 连接的隐式默认服务器。

    您需要为https 连接设置显式catch-all 服务器,或将listen 443 ssl 添加到现有server 块中以充当catch-all 服务器。

    您可以重复使用相同的证书文件,如果有人尝试使用它,您将继续收到证书错误,但至少您的其他域不会暴露。

    例如:

    ssl_certificate     /path/to/crt;
    ssl_certificate_key /path/to/key;    
    
    server {
        listen 443 ssl;
        server_name domain1;
        ...
    }
    server {
        listen 443 ssl default_server;
        return 403;
    }
    

    请参阅this documentthis document 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      相关资源
      最近更新 更多