事情的起因是,对一个网站的升级,从http升级到https,苹果手机可以正常访问,唯独安卓手机出现空白,安卓访问https的时候是出现的空白。
服务器的系统是windows Server 2008 R2,php运行环境是phpstudy.
然后一路查找,发现是少了中间证书,一般是带有bundle字样结尾的crt文件
下面贴出apache服务器的配置核心代码
<VirtualHost _default_:443>
DocumentRoot "D:/public/"
ServerName www.aabb.cn:443
SSLEngine on
SSLCertificateFile D:/ssl/www.aabb.cn.crt
SSLCertificateKeyFile D:/ssl/www.aabb.cn.key
SSLCertificateChainFile D:/ssl/www.aabb.cn-ca-bundle.crt
ErrorLog "D:/logs/error.log"
#TransferLog "D:/logs/access.log"
DirectoryIndex index.php index.html index.phtml index.htm
<Directory "D:/public/">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
其中最关键的一句是
SSLCertificateChainFile 这个后面是中间证书的绝对路径
另外分享一下输入http自动跳转到https的代码
这个需要在网站的根目录建立一个.htaccess文件
加入如下代码
<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</IfModule>
这样输入http网址的时候 就会自动跳到https页面了