×

宝塔ssl泛域名以及子目录开启ssl等配置

hqy hqy 发表于2025-02-13 15:50:19 浏览12 评论0

抢沙发发表评论

mportant;">新建一个站点 绑定 域名 leiyanhui.com *.leiyanhui.com

然后 这个站点的 ssl选择 Let's Encrypt 选择dns解析,

因为只有dns验证的域名采可以使用免费的泛域名解析3个月(宝塔会自动给续)

类似 uuuu.leiyanhui.com的域名 可以使用*.leiyanhui。但是如果类似 123.uuu.leiyanhui.com 不可以,需要另外再行申请。

宝塔支持几个dns服务器的接口

我这里用的cf,登录cf点击域名,右下角 获取api令牌 按照提示获取 Global API Key

然后返回宝塔,dns选择cf,点设置输入cf的邮箱和这个api令牌,勾选申请。如果有提示错误,检查一下错误信息。这个提示信息一闪而过,闪出来的时候截图看

我这里是把邮箱给输错了。。。

这样就配置成功了一个证书。

如果是独立站点使用话,在宝塔创建站点后,选择证书夹,然后选择对应的域名

如果是子目录使用先在宝塔中绑定子目录

 这里就需要自己修改配置文件了,直接复制 域名 主要域名对应的配置就行


listen 443 ssl http2; #在80后面增加一行

# 在root /www后面添加

#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START 这个是自动跳转80到433
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/leiyanhui.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/leiyanhui.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
#SSL-END

宝塔的ssl证书文件 是放在 /www/server/panel/vhost/cert/你的域名.com

同时宝塔在你申请过ssl会自动在计划任务里面创建一个检查证书的任务,到期钱1个月 会尝试绑你重新申请,同一个服务器的网站只要是选择的对应目录的证书或者用宝塔的证书夹 都会自动更新。不同服务器的。那就创建一个文件同步任务了
可以用 Rsync scp随意

scp为例 sshpass是为了面如每次输入密码的

sshpass -p 密码 scp -P 端口 源文件 目标文件


scp -r   /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp

 完整代码 添加到另外一台服务器的计划任务 就ok了

rm -rf /www/server/panel/vhost/cert/leiyanhui.com
sshpass -p 123456 scp -r   /www/server/panel/vhost/cert/leiyanhui.com  root@192.168.1.65:/www/server/panel/vhost/cert/leiyanhui.com

另外网站的子域名xxx.xxxxx.cn,宝塔页面是没有单独针对只开启单个子域名的 ssl证书功能,只能通过手动配置(除非申请证书时,把所有域名都申请成一个证书,或者泛域名证书)

先申请一个针对子域名的证书,此时会覆盖主域名,不用担心,在证书夹点部署切回去就可以了,然后子域名申请的证书路径如下

/www/server/panel/vhost/ssl/xxx.xxxxx.cn


在站点修改,配置文件,找到子域名的配置,黑色部分为原有配置,红色时插入的

#BINDING-xxx.xxxxx.cn-START

server

{

    listen 80;

    listen 443 ssl http2 ;

    server_name it-tools.jinbel.cn;

    index index.php index.html index.htm default.php default.htm default.html;

    root /www/wwwroot/xxx.xxxxx.cn/it-tools;


    include enable-php-80.conf;

    include /www/server/panel/vhost/rewrite/xxx.xxxxx.cn_it-tools.conf;

    

       #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则

    #error_page 404/404.html;

    #HTTP_TO_HTTPS_START

    if ($server_port !~ 443){

        rewrite ^(/.*)$ https://$host$1 permanent;

    }

    #HTTP_TO_HTTPS_END

    ssl_certificate    /www/server/panel/vhost/ssl/xxx.xxxxx.cn/fullchain.pem;

    ssl_certificate_key    /www/server/panel/vhost/ssl/xxx.xxxxx.cn/privkey.pem;

    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

    ssl_prefer_server_ciphers on;

    ssl_session_cache shared:SSL:10m;

    ssl_session_timeout 10m;

    add_header Strict-Transport-Security "max-age=31536000";

    error_page 497  https://$host$request_uri;


    #SSL-END

  

    #禁止访问的文件或目录

    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)

    {

        return 404;

    }


..................后面还有忽略不用管。


打赏

本文链接:https://www.kinber.cn/post/4835.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客