【发布时间】:2021-01-12 13:37:48
【问题描述】:
我有一个配置为将我的 www 地址重定向到非 www 的 nginx 文件。它可以正常工作,但是当我尝试获取 www 地址的 ssl 证书时,它会失败并出现 404 错误。
我不会打扰它,但我正在尝试改进 SEO,而 https 网站的 www 地址返回 ERR_TLS_CERT_ALTNAME_INVALID,这似乎会降低 SEO。
任何帮助将不胜感激。
这是我用于重定向的 nginx 配置。我还有一个带有 www 地址设置的 A 名称 DNS 记录,这会影响它吗?
server {
listen 80;
server_name www.example.com.au;
return 301 https://example.com.au$request_uri;
}
server {
listen 443 ssl;
access_log /var/log/nginx/domain.access.log;
error_log /var/log/nginx/domain.error.log debug;
server_name www.example.com.au;
ssl certificates...
return 301 https://example.com.au$request_uri;
}
【问题讨论】:
-
这些块都不会生成 404 响应。尝试获取 SSL 证书是什么意思?例如,Let's Encrypt 可能使用
http://www.example.com/.well-known/...来访问令牌,而您的配置只会将其重定向到您的其他站点。 -
你是对的,地址不会返回 404 响应,但 acme 挑战 url 会:
raise ValueError("Wrote file to {0}, but couldn't download {1}: {2}".format(wellknown_path, wellknown_url, e)) ValueError: Wrote file to /var/www/letsencrypt/.well-known/acme-challenge/F7qFpSzL2GWPiJuUZhez_SLxN9xcBIkYwYQHuo4BvHI, but couldn't download http://www.mydomain.com.au/.well-known/acme-challenge/...: Error: Url: http://www.mydomain.com.au/.well-known/acme-challenge/F7qFpSzL2GWPiJuUZhez_SLxN9xcBIkYwYQHuo4BvHI数据:无响应代码:404 -
使用
nginx -T(大写T)查看所有包含文件的完整配置,并确保上述server块与正确的server_name一起出现。但主要问题是现在有办法提供像/.well-known/acme-challenge/这样的 URI,请参阅 this answer。 -
你是个传奇,谢谢队友。就我而言,它是
root /var/www/letsencrypt。我将在下面添加完整的 sn-p。