关于phpstudy配置https问题
1.域名生成SSL证书,我的是阿里云服务器购买的域名,登录阿里云服务器->控制台->“安全(云盾)”,如下:
生成新的页面点击右侧的“立即购买”,如下:
进入到证书控制台如下:
如上的3个步骤选项的位置都是默认即可,接下来就是等待审核通过,然后再进行查看该证书的记录是否已经生成出来了,接下来的步骤是给要申请https的域名进行一个解析的操作,进入到该域名,进行域名解析操作,注意(像记录类型,主机记录等的信息要和刚刚证书的记录是一模一样的)如下:
添加后等待解析记录生效:刷新到全球最长可能得48个小时,一般情况下大概1个小时左右即可生效。
所以这个时候只需要继续等待一段时间就可以了,阿里云证书服务里订单会显示黄色的审核中。
Symantec证书采用自动验证审核及签发,因此当Symantec的服务器检测到解析后就会自动签发SSL证书。
签发成功后,如下图所示:
接下来就是下载ssl证书了,点击进去,如下:
下载下来的压缩包解压出来的文件内容如下:
证书有了,接下来就是配置环境的操作了,第一步先把php.ini文件中的ssl打开,步骤如下:
检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll
第二步:在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中
第三步:打开配置目录找到httpd.conf文件
找到该文件并打开,在文件中搜索Include conf/vhosts.conf在这个语句下面添加Include conf/vhostssl.conf
最后,在conf文件夹中创建名为vhostssl.conf的文件,如下:
文件的内容为:
Listen 443
<VirtualHost *:443>
ServerName www.esu****.com //这里是你要进行ssl认证的域名
DocumentRoot "D:\es***iao" //项目的路径
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
SSLCertificateFile "D:\phpStudy\Apache\cert\public.pem" //证书的位置
SSLCertificateKeyFile "D:\phpStudy\Apache\cert\214591248980216.key" //证书的位置
SSLCertificateChainFile "D:\phpStudy\Apache\cert\chain.pem" //证书的位置
</VirtualHost>
如果是腾讯云的则是如下:
Listen 443(腾讯云)
<VirtualHost *:443>
DocumentRoot "C:\phpstudy\WWW"
ServerName www.denglong.net.cn
ServerAlias denglong.net.cn
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "c:\phpStudy\Apache\cert\2_denglong.net.cn.crt"
SSLCertificateKeyFile "c:\phpStudy\Apache\cert\3_denglong.net.cn.key"
<Directory "C:\phpstudy\WWW">
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
最后就是重启环境就可以了,我们最终看一下成果: