宝塔网站https设置,免费ssl证书
现在做网站,启用https是必选项,在《https应该是seo的必选项》文章中,我也有相关介绍,这里就不重复说明了,有兴趣的可以去看看。
宝塔设置网站的https还是非常简单方便的,而且还是免费的sll证书。
申请位置:宝塔面板=》网站=》设置=》ssl=》Let's Encrypt=》申请证书
注意:Let's Encrypt的ssl证书有效期是90天!
正常的需求,一般到这里就结束了,申请成功后,系统还会自动添加一个计划任务,
证书到期后,会自动续签,所以设置好后,就可以不用管它了。
但是,有些特殊的需求,会导致证书无法自动续签。
比如,301跳转,我们做站,一般主域名会301跳转到www子域名上,
但是我们肯定希望,不管是http://域名.com还是https://域名.com都能成功的跳转到https://www.域名.com。
一旦这样设置,就会导致证书无法自动续签。
我这里提供两个解决办法,一是申请证书的时候,采用dns的验证方式,dns的验证方式比较复杂,
需要设置好域名服务器的api配置,以阿里云为例,需要先获取AccessKey和SecretKey,
这个方法,不太推荐,accesskey具有账户的所有权限,一不小心暴露,就有安全风险。
第二个方法,也是我推荐的方法,自动续签脚本的验证,不外乎就是访问固定url,能访问就验证通过。
所以,我们只需要在做301跳转的时候,排除这个固定目录即可。
方法:在做 301 跳转时,排除 Let’s Encrypt 续签验证 URL,这样 Let’s Encrypt 续签时仍然可以访问验证文件,而其他请求仍然会 301 到 www 子域名。
具体操作方法
方法 1:在 Nginx 配置 301 跳转时排除 Let’s Encrypt 目录
如果你的服务器使用 Nginx,可以修改 server 配置,在 301 跳转时排除 /.well-known/acme-challenge/ 目录。
示例 Nginx 配置
server { listen 80; server_name yourdomain.com; # 排除 Let’s Encrypt 验证目录,不做 301 跳转 location ^~ /.well-known/acme-challenge/ { root /www/wwwroot/yourdomain.com; # 这里填写 Let’s Encrypt 生成的验证文件所在目录 } # 其他所有请求 301 跳转到 www 子域名 location / { return 301 https://www.yourdomain.com$request_uri; } }
解释:
location ^~ /.well-known/acme-challenge/:让 Let’s Encrypt 续签时能正确访问验证文件,不被 301 影响。
其他路径仍然 301 重定向 到 www 子域名。
优势:
不影响自动续签,可以照常使用 Let’s Encrypt HTTP-01 验证。
仍然 保持 301 跳转,确保 SEO 友好。
方法 2:如果使用 Apache
如果你使用的是 Apache,可以在 .htaccess 里排除 /.well-known/acme-challenge/:
示例 .htaccess 配置
RewriteEngine On
# 排除 Let’s Encrypt 续签目录
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ [NC]
# 其他所有请求 301 跳转到 www 子域名
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301]
同样的效果,可以让 Let’s Encrypt 续签顺利进行,同时保证主域名的 301 跳转。
编辑:
阅读量:15
url链接:https://www.qozr.com/cms_bao-ta-wang-zhan-https-she-zhi-mian-fei-ssl-zheng-shu.html
更多新闻
Copyright © 千欧中软 版权所有 https://www.qozr.com seo | 网站建设 [渝ICP备15005074号]
渝公网安备50011802011077