当前位置:论坛首页 > Linux面板 > Linux面板教程

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

发表在 Linux面板2021-7-27 15:12 [复制链接] 8 7892

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

选择要申请证书的目录.png
2、修改网站的建站目录
建站选择根目录.png
3、最终网站的目录
最终目录.png
4、建站成功
建站成功.png
5、申请证书:
申请证书.png
6、证书申请过程
申请过程.png
7、证书下发成功
申请成功.png

说明:申请证书是使用亚洲诚信还是Let's Encrypt 看个人喜好,申请证书的时候使用DNS验证还是文件验证同样是看个人喜好。
8、访问网站:
访问验证.png
使用道具 举报 只看该作者 回复
发表于 2021-7-27 15:48:25 | 显示全部楼层
火钳刘明
使用道具 举报 回复
发表于 2021-7-27 15:51:01 | 显示全部楼层
使用道具 举报 回复 支持 反对
发表于 2021-9-16 18:26:25 | 显示全部楼层

如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录??
使用道具 举报 回复 支持 反对
发表于 2021-9-16 21:08:53 | 显示全部楼层
罗掌柜 发表于 2021-9-16 18:26
如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录??

目前没有直接给网站---二级目录绑定的域名直接添加SSL证书,只能另外想办法解决
使用道具 举报 回复 支持 反对
发表于 2021-12-5 09:47:18 | 显示全部楼层
会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话
使用道具 举报 回复 支持 反对
发表于 2021-12-6 11:25:14 | 显示全部楼层
宝塔用户_rgmbem 发表于 2021-12-5 09:47
会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话 ...

您有添加过这个域名,把之前添加的删除
使用道具 举报 回复 支持 反对
发表于 2025-5-14 09:35:54 | 显示全部楼层
手动修改一个站点配置文件就好了!https://www.bt.cn/bbs/thread-146298-1-1.html
使用道具 举报 回复 支持 反对
发表于 2026-1-23 22:04:42 | 显示全部楼层
  1. server
  2. {
  3.     listen 80;
  4.     listen 443 ssl http2 ;
  5.     server_name domain.com *.domain.com;
  6.     index index.php index.html index.htm default.php default.htm default.html;
  7.    
  8.     # ========== 核心调整:初始化动态根目录变量 ==========
  9.     set $dynamic_root /www/wwwroot/sites;
  10.    
  11.     #root /www/wwwroot/sites;
  12.     #CERT-APPLY-CHECK--START
  13.     # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
  14.     include /www/server/panel/vhost/nginx/well-known/domain.com.conf;
  15.     #CERT-APPLY-CHECK--END
  16.     include /www/server/panel/vhost/nginx/extension/domain.com/*.conf;
  17.    
  18.     #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  19.     #error_page 404/404.html;
  20.     #HTTP_TO_HTTPS_START
  21.     set $isRedcert 1;
  22.     if ($server_port != 443) {
  23.         set $isRedcert 2;
  24.     }
  25.     if ( $uri ~ /\.well-known/ ) {
  26.         set $isRedcert 1;
  27.     }
  28.     if ($isRedcert != 1) {
  29.         rewrite ^(/.*)$ https://$host$1 permanent;
  30.     }
  31.     #HTTP_TO_HTTPS_END
  32.     ssl_certificate    /www/server/panel/vhost/cert/domain.com/fullchain.pem;
  33.     ssl_certificate_key    /www/server/panel/vhost/cert/domain.com/privkey.pem;
  34.     ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  35.     ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  36.     ssl_prefer_server_ciphers on;
  37.     ssl_session_tickets on;
  38.     ssl_session_cache shared:SSL:10m;
  39.     ssl_session_timeout 10m;
  40.     add_header Strict-Transport-Security "max-age=31536000";
  41.     error_page 497  https://$host$request_uri;
  42.     #SSL-END

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

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

  57.     # ========== 全局root ==========
  58.     root $dynamic_root;

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

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

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

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

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

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

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

  96.     location ~ .*\.(js|css)?$
  97.     {
  98.         expires      12h;
  99.         error_log /dev/null;
  100.         access_log /dev/null;
  101.     }
  102.     access_log  /www/wwwlogs/domain.com.log;
  103.     error_log  /www/wwwlogs/domain.com.error.log;
  104. }
复制代码
分享一个针对泛域名绑定子目录的通用写法,比如你的域名是domain.cm,每个子域名自动绑定到同名的子目录,统一使用本站点的泛域名SSL证书,一个站点就可以无数个https的子域名网站
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表