{{item}}
{{item.title}}
{{items.productName}}
¥{{items.priceOne.price}}/年
{{item.title}}
针对这位用户的反馈判断,我们可以确认问题是由于免费SSL证书只覆盖了不带www的域名(例如 topssl.cn),而没有包含带 www 的域名(www.topssl.cn),技术首推重新申请包含www子域名的免费证书。
有用户咨询:
通过topssl申请的DV SSL证书(90天)在使用中https://topssl.cn/ 显示正常但htps://www.topsll.cn/hlxcdc/api/app/comCountry/getSelectListAsync 不正常
做了nginx的转发 麻烦提供一技术支持!
(问题中的域名为参考域名)
分析
用户通过topssl申请了DV SSL证书(90 天有效期),该证书在 https://topssl.cn/
下访问正常,但通过 Nginx 转发后的 https://www.topsll.cn/hlxcdc/api/app/comCountry/getSelectListAsync
访问不正常。客服贾初步判断是证书仅覆盖了 topssl.cn
,而没有包含 www.topsll.cn
。
TOPSSL客服:
答:TopSSl提供的Lets Encrypt免费证书有一个地方需要注意,
如你申请的是topssl.cn,他只适用topssl.cn这个域名,www不适用,如果您要topssl.cn和www同时使用,
建议你再申请一个www域名的证书,同时部署即可,
需要注意的是收费证书里的ssl证书都是自带www证书的。
针对问题通过IA总结以下几种可能的解决方案用于参考:
方案一:重新申请包含 www
域名的免费证书:
www.topsll.cn
这个域名。ssl_certificate
和 ssl_certificate_key
指向新的证书和私钥文件。sudo nginx -s reload
或 sudo systemctl reload nginx
)。方案二:为 www
域名单独申请免费证书并配置:
www.topsll.cn
申请一个免费的Let's Encrypt DV SSL证书。www
域名的证书和私钥文件。server
块来专门处理 www.topsll.cn
的HTTPS请求,并在该 server
块中配置 www
域名的证书和私钥。Nginx
server {
listen 443 ssl;
server_name www.topsll.cn;
ssl_certificate /path/to/www.topsll.cn.crt; # 指向 www 域名的证书
ssl_certificate_key /path/to/www.topsll.cn.key; # 指向 www 域名的私钥
# ... 其他 www.topsll.cn 的 HTTPS 配置
location /hlxcdc/api/app/comCountry/getSelectListAsync {
proxy_pass http://your_backend_ip:your_backend_port/hlxcdc/api/app/comCountry/getSelectListAsync;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# ... 其他 location 配置
}
server {
listen 443 ssl;
server_name topssl.cn;
ssl_certificate /path/to/topssl.cn.crt; # 指向 topssl.cn 的证书
ssl_certificate_key /path/to/topssl.cn.key; # 指向 topssl.cn 的私钥
# ... 其他 topssl.cn 的 HTTPS 配置
location / {
# ... topssl.cn 的其他 location 配置
}
}
方案三:考虑付费 SSL 证书:
如客服贾所说,通常付费SSL证书(例如OV或EV类型)在申请时会默认包含 www
子域名,无需额外操作。如果用户有长期使用HTTPS的需求,且希望更省心,可以考虑升级到付费SSL证书。
尽快选购申请,价格随时改变!