我有一个非www网址的网站,我尝试使用以下步骤将其重定向-
对于DNS,我曾经使用爸爸
Type name value ttl
A @ xx.xx.xx.xx 600 seconds
CNAME www @ 1 Hour
在我的Nginx配置中,我进行了以下更改-
server {
listen 443;
server_name XAXA.com www.XAXA.com;
if ($host = XAXA.com) {
return 301 https://$host$request_uri;
}
return 404;
}
我可以使用XAXA.com登录我的网站,但是每当我尝试使用www.XAXA.com时,我都会得到-您的连接不是私有的
我正在使用SSl加密。
答案 0 :(得分:0)
“连接不是私有的”警告与您提供的证书有关。您的浏览器无法验证服务器提供的证书对www.xaxa.com有效。
我不知道您证书的确切内容,所以我猜您的证书没有正确设置Subject Alternative Name
。
我将使用openssl
作为如何查看证书内容的示例,但是您可以随意使用。
我假设您的证书的Subject
看起来像这样
$ openssl s_client -connect xaxa.com:443 -showcerts | openssl x509 -subject -noout
CN = xaxa.com
这很好,不需要更改。根据您的浏览器,在针对主机验证证书时,它甚至可能不是验证过程的一部分。
我还假设您的证书的Subject Alternative Name
看起来像这样
$ openssl s_client -connect xaxa.com:443 -showcerts 2>/dev/null | openssl x509 -text -noout 2>/dev/null | grep -A 1 'Subject Alternative Name'
X509v3 Subject Alternative Name:
DNS:xaxa.com
您要实现的是该Subject Alternative Name
字段中的列表:
$ openssl s_client -connect xaxa.com:443 -showcerts 2>/dev/null | openssl x509 -text -noout 2>/dev/null | grep -A 1 'Subject Alternative Name'
X509v3 Subject Alternative Name:
DNS:xaxa.com, DNS:www.xaxa.com
如果您有多个子域,则可以提供通配符值而不是www
,即。 DNS:*.xaxa.com
关于“让我们加密”的实际实现方式取决于您使用的ACME client implementation。