我有一个带有 vite 的 React 应用程序,它为每个用户创建一个子域,并允许他们根据需要对其进行自定义。它是用 nginx 包装的,配置如下
server {
server_name test.domainname.ai *.test.domainname.ai;
location / {
proxy_pass http://localhost:5173;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
add_header X-location-header $scheme$request_method$host$request_uri;
}
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/test.supportio.ai/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/test.supportio.ai/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/test.supportio.ai;
}
当我将我的域名 (somedomainname.com) 指向带有 CNAME 记录的 somename.test.domainname.ai 时,它会给出 SSL 错误,提示“test.domainname.ai”不验证“somedomainname.com”
我已经使用 certbot 为子域的通配符子域生成了 ssl 证书(测试)
您遇到的 SSL 错误是由于
test.domainname.ai
的 SSL 证书未覆盖域 somedomainname.com
造成的。 SSL 证书颁发给特定域名或通配符,并验证这些域的身份。当您创建 CNAME 记录以将 somedomainname.com
指向 somename.test.domainname.ai
时,test.domainname.ai
的 SSL 证书不会自动验证 somedomainname.com
。
要解决此问题,您有以下几种选择:
somedomainname.com
颁发新的SSL证书:如果您拥有或控制somedomainname.com
,您可以为其颁发单独的SSL证书。