如何为二级目录绑定的域名申请证书
由于二级域名无添加SSL证书的一键配置,那么如果二级域名想使用SSL证书,需要乾坤大挪移,达到二级域名也能使用SSL证书,下面是步骤:1、选择要申请证书的二级目录建站
2、修改网站的建站目录
3、最终网站的目录
4、建站成功
5、申请证书:
6、证书申请过程
7、证书下发成功
说明:申请证书是使用亚洲诚信还是Let's Encrypt 看个人喜好,申请证书的时候使用DNS验证还是文件验证同样是看个人喜好。
8、访问网站:
火钳刘明 钻头 发表于 2021-7-27 15:48
火钳刘明
:lol
大炮运维V587 发表于 2021-7-27 15:51
如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录?? 罗掌柜 发表于 2021-9-16 18:26
如果购买了商业SSL泛域名,那不能直接有二级域名绑定子目录??
目前没有直接给网站---二级目录绑定的域名直接添加SSL证书,只能另外想办法解决 会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话 宝塔用户_rgmbem 发表于 2021-12-5 09:47
会提示【您添加的域名已存在】,这个如何解决啊,采用创建新网站的形式添加域名来申请的话 ...
您有添加过这个域名,把之前添加的删除 手动修改一个站点配置文件就好了!https://www.bt.cn/bbs/thread-146298-1-1.html 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]