redirect - Nginx HTTPS 301 重定向到另一个 TLD(托管在同一台服务器上)而不显示 SSL 警告

标签 redirect ssl nginx https tld

我拥有域名

     example.com,  .com.au,  .net,  .net.au, ...  (8 in total).

我希望所有这些 TLD 到 301 重定向到安全的 .com

    https://www.example.com

我使用 Nginx 处理所有 HTTP 请求,但不是所有 HTTPS

我已经为 https://www.example.com 安装了一个 SSL 证书,这适用于 wwwnon-www 没有任何安全警告(如预期的那样)。

当浏览说 http://example.net 时,我被重定向到 https://www.example.com 而没有安全警告。但是,当浏览到 https://example.net 时,我收到了可怕的安全警告。

现在我假设这是因为我只拥有 .com SSL 证书而不是 other TLD。此外,所有站点都托管在相同 服务器/IP 地址上,因此为其他 TLD 返回 .com 证书。

所有域的 DNS A 记录都指向我的 Nginx 服务器的单个 IP 地址。

根据我所阅读和理解的内容,我认为我需要为我拥有的每个 TLD 提供一个 IP 地址和 SSL 证书。对于简单的重定向来说,这似乎有点矫枉过正。

是否有任何 Nginx 或 DNS 欺骗我可以用来避免 OTHER(非 .com TLD)的标准安全警告 无需支付更多 IP 地址和 SSL 证书?

我想在我继续购买所有必需的证书等之前最好问问智囊团。

下面是我的 Nginx 配置:

server {                  # redirect/catch all block
        listen 80;
        listen 443;
        server_name _ .example.com .example.com.au .example.net .example.net.au;
        return 301 https://www.example.com$request_uri;
}

server {
        listen   443 ssl default_server;        # Secure default server block
        server_name www.example.com;

        root /srv/www/example.com/public_html;
        index index.html index.htm;

        ssl on;
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;           
        # ...   rest of config
}

最佳答案

From what I have read and understood, I think I need an IP address and SSL certificate for each TLD I own. This seems like overkill for a simple redirect.

重定向是在 HTTP 层完成的。但是在 HTTPS 中,HTTP 层被封装在 TLS 中。这意味着它必须先成功建立 TLS 连接,然后才能进行重定向。因此,即使您只是重定向到另一台主机,它也需要为您通过 HTTPS 访问的所有主机名提供适当的证书。

关于redirect - Nginx HTTPS 301 重定向到另一个 TLD(托管在同一台服务器上)而不显示 SSL 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196891/

相关文章:

PHP 到 MySQL SSL 连接

ssl - 如何通过端口 8883 使 TLS 在 MQTT 中工作?

nginx - Gitea 和 Nginx 配置

linux - 301重定向DNS问题

javascript - 打开子窗口并重定向父窗口

.htaccess - OpenCart htaccess 重定向到 WWW 和 SSL

ruby-on-rails - Rails 权限被拒绝@dir_s_mkdir

redirect - Golang 重定向 fmt.Scanf 以从文件而不是 os.Stdin 读取

ssl - 如何禁用 Chrome 的证书固定?

http - 允许仅从我的域提供某些文件(如字体)——特定的技术需求