前端后端phpStudy环境下安装配置SSL证书,实现加密访问(Https)
Posted 拾年之璐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端后端phpStudy环境下安装配置SSL证书,实现加密访问(Https)相关的知识,希望对你有一定的参考价值。
- 说明:本文从:①申请SSL证书、②phpStudy环境下配置SSL证书、③http协议访问自动切换至https协议,三个方面讲述SSL证书的安装配置。
- >>点击查看WUTer计算机专业实验汇总
- 谨记:纸上得来终觉浅,绝知此事要躬行。
一、何为SSL证书?
SSL证书是什么?
百度百科是这么解释的:
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
简单理解就是实现数据加密传输吧。
当你的网站使用SSL证书后,浏览器地址栏的链接会显示https,使你的客户知道你们网站是安全可靠的,能增加用户对网站的信赖度。
二、何为PHPStudy?
phpStudy是一个PHP调试环境的程序集成包。
该程序包集成最新的Apache+PHP+mysql+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境·该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等·总之学习PHP只需一个包。
可以简单的理解为,如果你用PHP语言写了一个服务端Web程序,需要部署到服务器上,则需要使用phpStudy这个集成环境来运行你写的PHP程序。
其中,phpStudy自带MySQL数据库,足够满足PHP网站的搭建。
其实和PHPStudy很像的建站集成软件还有xampp等。如果感兴趣可以去了解一下xampp,二者有很大的相似之处。
三、申请阿里云免费SSL证书
在申请SSL证书之前,首先你需要有一个域名。这个域名所归属的账号和申请SSL证书的账号不要求一致。即域名可以在任意账号下,只要你有域名解析控制权即可。
下面讲述如何申请阿里云免费的SSL证书。
1、登录阿里云,进入控制台,搜索SSL证书服务
如下图所示,在【产品与服务】栏目中搜索【SSL】即可,【SSL证书】在【安全(云盾)】模块下。
点击进入即可。
2、购买SLL证书
如下图,在【SSL证书管理控制台】中点击【购买证书】
3、购买证书
如下图,选择【免费型DV SSL】证书,购买即可。
该证书为免费证书,所以一个证书只能绑定一个域名(如:baidu.com和www.baidu.com为同一个域名,而baike.baidu.com则为另一个域名) 。
4、申请签发证书
购买SSL证书后,在【SSL证书控制台】即可看到刚购买的证书,状态为未签发。
点击【申请】,申请该证书绑定的域名。
填写上述表单即可。
- 如果该证书和域名在同一个阿里云账号下,选择【自动DNS验证】即可。
- 如果SSL证书和域名不在同一个阿里云账号下, 选择【手工DNS验证】。也可选择文件验证(需要服务器)
点击下一步。
笔者以不同账号为例,需要在域名下手动配置TXT记录,如下图:
在域名【云解析DNS】下添加上图这条记录即可。如下图:
然后在证书申请页面,点击【验证】,显示【验证成功】后,点击【提交审核】即可。
一般需要几分钟就会申请通过。
免费证书是不会给你打电话核实的,但是也不排除有例外。
然后,证书状态:审核中。如下图所示。
5、下载证书
审核通过后,即可下载该证书相关的文件。如下图所示:
点击需要配置到服务器的证书后面的【下载】按钮,即可下载对应的证书文件。
如上图,有Tomcat、Apache等环境。
使用phpStudy服务器环境,推荐使用Apache。
下载服务器类型为Apache的SSL证书文件后,文件中包含三个文件,如下图所示:
下载的压缩包文件名中包含该证书所属的域名,以及该证书适配的服务器环境。
然后将这些文件上传到服务器里,接下来需要在服务器里将这个SSL证书配置到phpStudy。
四、SSL证书配置至phpStudy环境下
1、上传证书,解压
前面我们已经下载好Apache服务器的证书,将证书上传至服务器,解压至任意目录即可,建议统一存放。
下图为笔者SSL证书存放在服务器中的路径,这个路径记住!后边要用!!!
2、开启SSL服务
在phpStudy主面板中,点击【其他选项菜单】→【PHP扩展及设置】→【PHP扩展】,将【php_openssl】参数勾选,如下图所示:
这时,打开【httpd.conf】文件,可以看到“LoadModule ssl_module modules/mod_ssl.so”这行代码前没有“#”。
如果依旧有“#”,可手动删除。
然后将【httpd.conf】这个文件滑到最底下,将下图中红框内的那行代码前的井号#删除:
然后保存这个文件,关闭即可。
到这里,就开启了SSL服务。
3、配置SSL文件
在phpStudy安装目录下,找到【httpd-ssl.conf】文件,一般目录如下图所示;
将这个文件使用记事本打开。
默认的文件中自带很多注释代码,如下图所示,都是如何配置这个SSL文件的说明。如果你是技术大牛,可以根据这些英文提示,自行配置SSL证书文件。
其实这些文件,只需要配置几个地方就可以。但是看着这么多的文字,有点乱糟糟的……
所以笔者将该文件内原有代码删除,将下面代码复制进去,然后修改几个地方就可以:
Listen 443
<VirtualHost *:443>
#双引号内为index文件的路径,替换成自己的
DocumentRoot "C:\\WWW\\web"
#后边跟该SSL证书文件的域名
ServerName wx.domain.com
#同上
ServerAlias wx.domain.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
#这后边跟自己证书文件的路径,如下例子所示:
SSLCertificateFile C:\\WWW\\cert\\wx\\wx.domain.com_public.crt #Public证书文件,替换成自己的
SSLCertificateKeyFile C:\\WWW\\cert\\wx\\wx.domain.com.key #KEY证书文件,替换成自己的
SSLCertificateChainFile C:\\WWW\\cert\\wx\\wx.domain.com_chain.crt #chain证书文件,替换成自己的
#下面双引号内同上
<Directory "C:\\WWW\\web">
Options Indexes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
如果该服务器有多个域名访问,可以配置多个SSL证书,只需要将:
<VirtualHost *:443>
……
……
</VirtualHost>
内的代码重复复制在后边即可。
如下图,笔者就在一个服务器上配置了两个域名,并且均配置SSL证书:
将上述文件配置完毕后,重启phpStudy即可。
如果Apache无法启动,检查代码中是否有拼写错误等。
然后就可以在浏览器中测试域名https访问。
五、强制https访问
如果需要强制https访问,即使用http访问时,自动切换到https访问,也很简单。
只需要在Web项目的根目录下创建一个【.htacess】文件,如下:
然后将下面代码复制进去,保存即可:
RewriteEngine on
RewriteBase /
RewriteCond %SERVER_PORT !^443$
RewriteRule ^.*$ https://%SERVER_NAME%REQUEST_URI [L,R]
如果不知道怎么创建这个只有扩展名的文件,可以从其他地方复制一个。
这时,使用http协议访问该Web项目,则自动切换到https协议。
六、参考文献:
- phpStudy环境安装SSL证书教程 - phpStudy技术文章:http://phpstudy.php.cn/jishu-php-2958.html
以上是关于前端后端phpStudy环境下安装配置SSL证书,实现加密访问(Https)的主要内容,如果未能解决你的问题,请参考以下文章