今天,我把百度云加速去掉了,然后又重新接入后,发现访问https://www.kxuw.com
会显示重定向次数过多的问题
,但我并没有修改ngnix的相关配置。
关于博客站点的ngnix重定向设置了两个地方,分别是http->https 和 非www开头
->www开头
,两个地方的配置分别如下:
# http->https 重定向if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; }# 非www开头->www开头if ($host ~ \'^kxuw.com\'){ return 302 https://www.kxuw.com$request_uri; }
这两个配置肯定是没问题的,之前一直在用。
最后检查的原因是,百度云加速的https设置为了半程加密导致的问题。
使用cdn这类工具,其实即使服务器上不部署ssl证书都可以实现ssl访问,如果是半程加密以我的博客为例,访问过程如下:
https://www.kxuw.com(浏览器) -> 百度云cdn(进行校验证书是否有效)---回源--> 服务器(80端口)
可以看到这里回源的服务器的80端口,而非443端口,这就是半程加密。
所以为什么导致重定向次数过多的原因就知道了。
https://www.kxuw.com -> 服务器80端口-> 触发rewrite规则 -> https://www.kxuw.com 导致循环。
同样的不加密、全程加密、严格加密的意义就很容易理解了。
- 如果选择不加密,访问https://www.kxuw.com 浏览器会直接显示
不支持https,不安全的链接
之类的错误。 - 如果选择全程加密,这服务器上也必须要部署自签名的证书(cdn 回源的时候不校验服务器证书的合法性),如果服务器上面没有部署自签名的证书,浏览器就会显示
不支持的证书
之类的错误) - 如果选择严格加密,则服务器需要部署受信任的 CA 证书,否则浏览器就会显示
不支持的证书
之类的错误