网站建设

宝塔网站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

Tag标签: https , ssl , 宝塔

同类新闻

更多新闻

Copyright © 千欧中软 版权所有 https://www.qozr.com seo | 网站建设 [渝ICP备15005074号] 渝公网安备50011802011077