大炮运维V587 发表于 2021-7-27 15:12:19

如何为二级目录绑定的域名申请证书

由于二级域名无添加SSL证书的一键配置,
那么如果二级域名想使用SSL证书,需要乾坤大挪移,达到二级域名也能使用SSL证书,下面是步骤:1、选择要申请证书的二级目录建站


2、修改网站的建站目录

3、最终网站的目录

4、建站成功

5、申请证书:

6、证书申请过程

7、证书下发成功


说明:申请证书是使用亚洲诚信还是Let's Encrypt 看个人喜好,申请证书的时候使用DNS验证还是文件验证同样是看个人喜好。
8、访问网站:

向樛木多少斤了 发表于 2021-7-27 15:48:25

火钳刘明

大炮运维V587 发表于 2021-7-27 15:51:01

钻头 发表于 2021-7-27 15:48
火钳刘明

:lol

罗掌柜 发表于 2021-9-16 18:26:25

大炮运维V587 发表于 2021-7-27 15:51


如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录??

大炮运维V587 发表于 2021-9-16 21:08:53

罗掌柜 发表于 2021-9-16 18:26
如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录??

目前没有直接给网站---二级目录绑定的域名直接添加SSL证书,只能另外想办法解决

宝塔用户_rgmbem 发表于 2021-12-5 09:47:18

会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话

大炮运维V587 发表于 2021-12-6 11:25:14

宝塔用户_rgmbem 发表于 2021-12-5 09:47
会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话 ...

您有添加过这个域名,把之前添加的删除

宝塔用户_bxpxtv 发表于 2025-5-14 09:35:54

手动修改一个站点配置文件就好了!https://www.bt.cn/bbs/thread-146298-1-1.html

小牛先生 发表于 6 天前

server
{
    listen 80;
    listen 443 ssl http2 ;
    server_name domain.com *.domain.com;
    index index.php index.html index.htm default.php default.htm default.html;
   
    # ========== 核心调整:初始化动态根目录变量 ==========
    set $dynamic_root /www/wwwroot/sites;
   
    #root /www/wwwroot/sites;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/domain.com.conf;
    #CERT-APPLY-CHECK--END
    include /www/server/panel/vhost/nginx/extension/domain.com/*.conf;
   
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    set $isRedcert 1;
    if ($server_port != 443) {
      set $isRedcert 2;
    }
    if ( $uri ~ /\.well-known/ ) {
      set $isRedcert 1;
    }
    if ($isRedcert != 1) {
      rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/domain.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/domain.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_tickets on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497https://$host$request_uri;
    #SSL-END

    # ========== 核心:子域名动态解析逻辑(已排除指定子域名) ==========
    # 第一步:匹配非排除列表的子域名(排除test1、test2、test3)
    if ($host ~* ^((?!test1|test2|test3)[^\.]+)\.domain\.com$) {
      set $subdomain $1;
      set $dynamic_root /www/wwwroot/sites/$subdomain;
    }
    # 第二步:如果动态根目录不存在,回退到默认根目录
    if (!-d $dynamic_root) {
      set $dynamic_root /www/wwwroot/sites;
    }

    #ERROR-PAGE-START错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    # ========== 全局root ==========
    root $dynamic_root;

    #PHP-INFO-START
    location ~ [^/]\.php(/|$) {
      root $dynamic_root;
      fastcgi_pass unix:/tmp/php-cgi-80.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param PATH_INFO $fastcgi_path_info;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_param PHP_VALUE "open_basedir=$dynamic_root:/tmp/";
    }
    #PHP-INFO-END

    #PHP-INFO-STARTPHP引用配置,可以注释或修改
    #include enable-php-80.conf;
    #PHP-INFO-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/domain.com.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
      return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
      allow all;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
      return 403;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
      error_log /dev/null;
      access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
      expires      12h;
      error_log /dev/null;
      access_log /dev/null;
    }
    access_log/www/wwwlogs/domain.com.log;
    error_log/www/wwwlogs/domain.com.error.log;
}
分享一个针对泛域名绑定子目录的通用写法,比如你的域名是domain.cm,每个子域名自动绑定到同名的子目录,统一使用本站点的泛域名SSL证书,一个站点就可以无数个https的子域名网站
页: [1]
查看完整版本: 如何为二级目录绑定的域名申请证书