前端后端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证书。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_加密访问

1、登录阿里云,进入控制台,搜索SSL证书服务

如下图所示,在【产品与服务】栏目中搜索【SSL】即可,【SSL证书】在【安全(云盾)】模块下。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_phpStudy_02

点击进入即可。

2、购买SLL证书

如下图,在【SSL证书管理控制台】中点击【购买证书】

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_加密访问_03

3、购买证书

如下图,选择【免费型DV SSL】证书,购买即可。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_加密访问_04

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_05

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_06

该证书为免费证书,所以一个证书只能绑定一个域名(如:baidu.com和www.baidu.com为同一个域名,而baike.baidu.com则为另一个域名) 。

4、申请签发证书

购买SSL证书后,在【SSL证书控制台】即可看到刚购买的证书,状态为未签发。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_07

点击【申请】,申请该证书绑定的域名。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_SSL_08

填写上述表单即可。


  • 如果该证书和域名在同一个阿里云账号下,选择【自动DNS验证】即可。
  • 如果SSL证书和域名不在同一个阿里云账号下, 选择【手工DNS验证】。也可选择文件验证(需要服务器)

点击下一步。

笔者以不同账号为例,需要在域名下手动配置TXT记录,如下图:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_09

在域名【云解析DNS】下添加上图这条记录即可。如下图:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_SSL_10

然后在证书申请页面,点击【验证】,显示【验证成功】后,点击【提交审核】即可。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_11

一般需要几分钟就会申请通过。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_12

免费证书是不会给你打电话核实的,但是也不排除有例外。 

然后,证书状态:审核中。如下图所示。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_13

5、下载证书

审核通过后,即可下载该证书相关的文件。如下图所示:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_14

点击需要配置到服务器的证书后面的【下载】按钮,即可下载对应的证书文件。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_SSL_15

如上图,有Tomcat、Apache等环境。

使用phpStudy服务器环境,推荐使用Apache。

下载服务器类型为Apache的SSL证书文件后,文件中包含三个文件,如下图所示:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_16

 下载的压缩包文件名中包含该证书所属的域名,以及该证书适配的服务器环境。

然后将这些文件上传到服务器里,接下来需要在服务器里将这个SSL证书配置到phpStudy。


四、SSL证书配置至phpStudy环境下

1、上传证书,解压

前面我们已经下载好Apache服务器的证书,将证书上传至服务器,解压至任意目录即可,建议统一存放。

下图为笔者SSL证书存放在服务器中的路径,这个路径记住!后边要用!!!

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_17

2、开启SSL服务

在phpStudy主面板中,点击【其他选项菜单】→【PHP扩展及设置】→【PHP扩展】,将【php_openssl】参数勾选,如下图所示:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_ssl证书_18

这时,打开【httpd.conf】文件,可以看到“LoadModule ssl_module modules/mod_ssl.so”这行代码前没有“#”。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_phpStudy_19

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_20

如果依旧有“#”,可手动删除。

然后将【httpd.conf】这个文件滑到最底下,将下图中红框内的那行代码前的井号#删除:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_phpStudy_21

 然后保存这个文件,关闭即可。

到这里,就开启了SSL服务。

3、配置SSL文件

在phpStudy安装目录下,找到【httpd-ssl.conf】文件,一般目录如下图所示;

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_加密访问_22

将这个文件使用记事本打开。

默认的文件中自带很多注释代码,如下图所示,都是如何配置这个SSL文件的说明。如果你是技术大牛,可以根据这些英文提示,自行配置SSL证书文件。

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_23

其实这些文件,只需要配置几个地方就可以。但是看着这么多的文字,有点乱糟糟的……

所以笔者将该文件内原有代码删除,将下面代码复制进去,然后修改几个地方就可以:

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环境下安装配置SSL证书,实现加密访问(Https)_phpStudy_24

将上述文件配置完毕后,重启phpStudy即可。

如果Apache无法启动,检查代码中是否有拼写错误等。

然后就可以在浏览器中测试域名https访问。


五、强制https访问

 如果需要强制https访问,即使用http访问时,自动切换到https访问,也很简单。

只需要在Web项目的根目录下创建一个【.htacess】文件,如下:

【前端后端】phpStudy环境下安装配置SSL证书,实现加密访问(Https)_阿里云_25

然后将下面代码复制进去,保存即可:

RewriteEngine on

RewriteBase /

RewriteCond %SERVER_PORT !^443$

RewriteRule ^.*$ https://%SERVER_NAME%REQUEST_URI [L,R]

如果不知道怎么创建这个只有扩展名的文件,可以从其他地方复制一个。

这时,使用http协议访问该Web项目,则自动切换到https协议。

六、参考文献:

  1. phpStudy环境安装SSL证书教程 - phpStudy技术文章:http://phpstudy.php.cn/jishu-php-2958.html


以上是关于前端后端phpStudy环境下安装配置SSL证书,实现加密访问(Https)的主要内容,如果未能解决你的问题,请参考以下文章

linux phpstudy怎样安装ssl证书

phpStudy环境安装SSL证书教程(apache)

★ phpStudy安装SSL证书实现https链接

热门教程PHPStudy下Apache SSL证书安装教程

ssl证书 以及phpstudy配置ssl证书

phpStudy安装ssl证书