0

除了https://www.host.comhttps://host.com之外的所有内容都有效:

  1. host.com --> https://host.com
  2. www.host.com --> https://host.com
  3. https://host.com          --> https://host.com
  4. https://www.host.com --> ? 错误

我的 DNS 记录是这样的:

  1. 类型:记录
    • 主持人: @
    • 值:111.222.333.444
  2. 类型:CNAME 记录
    • 主持人:www
    • 价值:host.com。
  3. 类型:URL 重定向记录 - 未屏蔽
  4. 类型:URL 重定向记录 - 未屏蔽

连同一些 MX 记录。这个 DNS 在 Namecheap 上,所以我认为 URL Redirect Record301 Permanent Redirect.

此外,现在在运行 URL 重定向记录后,nslookup host.com将返回两个不同的 IP 地址。

什么控制重定向,从https://wwwhttps://non-www

在 Ubuntu 16 上,DigitalOcean Droplet,通过 certbot 设置 SSL。

4

2 回答 2

1

发现错误。

SSL 证书缺少www.example.com版本/域。

由于 SSL 是使用 Let's Encrypt / Certbot 安装的,因此使用sudo certbot certificates显示Domains:只有非 www 版本。

因此,重定向实际上在所有情况下都运行良好,除非https捕获 www 版本并由于缺少证书而引发错误。此外,原始帖子中的重定向 3 和 4 是不必要的。

于 2018-12-05T02:59:56.800 回答
0

使用 apache,您可以使用以下内容:

RewriteCond %{HTTP_HOST} ^www.exampledomain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://exampledomain.com/$1 [R=301]

然后

sudo a2enmod rewrite;
sudo service apache2 restart; 
于 2018-12-04T10:30:03.637 回答