大佬教程收集整理的这篇文章主要介绍了使用HTTPS将所有子域重定向到主域,而不使用通配符证书(nginx),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个主站点和几个虚拟域名的域名.我希望只能通过httpS(使用HSTS)访问所有站点(主站点和虚拟站点),并且我希望将不存在的子站点重定向到主站点.
总结一下我想要的东西:
> https:/example.com:无重定向(主站点)
> http:/example.com:重定向到https:/example.com
> https:/vhost.example.com:无重定向(虚拟主机)
> http:/vhost.example.com:重定向到https:/vhost.example.com
> https:/doesntexist.example.com:重定向到https:/example.com
> http:/doesntexist.example.com:重定向到https:/example.com
我非常接近这一点,但倒数第二次重定向不起作用.我正在使用Let’s Encrypt的证书,该证书目前不提供通配符证书,因此证书仅对主域和vhost(我在创建证书时明确列出)有效.由于证书无效,浏览器会阻止连接.
绕过这个问题最好的方法是什么(如果有的话)?
这是我的(简化)Nginx配置,如果它有帮助:
server {
listen 80;
server_name _;
return 301 https://example.com$request_uri;
}
server {
listen 443 spdy;
server_name _;
# SSL setTings snipped for brevity. SPDY and HSTS are enabled.
return 301 https://example.com$request_uri;
}
server {
listen 443 spdy;
server_name example.com;
root /var/www/example.com;
index index.html index.htm;
}
server {
listen 443 spdy;
server_name vhost.example.com;
root /var/www/vhost.example.com;
index index.html index.htm;
}
@H_403_23@
@H_489_23@
我想,从理论上讲,你可以写一些东西,当它收到一个不在证书中的名字的SNI标题时,从Let’s Encrypt快速颁发证书,并在TLS握手中发回新的证书,但是. ..好吧,这不是一个实际的解决方案,是吗?
@H_489_23@以上是大佬教程为你收集整理的使用HTTPS将所有子域重定向到主域,而不使用通配符证书(nginx)全部内容,希望文章能够帮你解决使用HTTPS将所有子域重定向到主域,而不使用通配符证书(nginx)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。