所以我的端口80重定向正常工作
server {
listen 80;
server_name "~^(?<subdomain>.+)\.site-box\.it$";
rewrite ^(.*)$ https://$subdomain.sitebox.co permanent;
}
但我希望https能够正常工作,因为有些旧链接会留下https://guy.site-box.it
但这不起作用
server {
listen 443;
server_name "~^(?<subdomain>.+)\.site-box\.it$";
rewrite ^(.*)$ https://$subdomain.sitebox.co permanent;
}
似乎在Nginx conf文件中没有任何效果。我只是在主站点和测试guy.site-box.it上遇到cloudflare错误,它只是说页面不可用。
知道如何让SSL子域工作吗?
答案 0 :(得分:1)
首先,您需要2个证书:subdomain.site-box.it
和subdomain.sitebox.co
。如果你有通配符证书 - 好,可以使用一个服务器块。如果您有单独的证书 - 需要为每个子域创建一个server
(因为证书路径不同)。
此外,您需要具有SNI支持的openssl(好吧,几乎所有现代版本都有)并检查浏览器/操作系统支持。 SNI - 用于基于https名称的托管。
此外,better使用return 301
代替rewrite
。 return 301 https://$subdomain.sitebox.co
好多了。
最后你server
阻止配置不好。您忘记了ssl
关键字和证书路径。
server {
listen 443 ssl;
ssl_certificate ... ;
ssl_certificate_key ... ;
}