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

版权声明:本文为博主原创文章。转载请联系博主授权。博主微信公众号【知行校园汇】。 https://blog.csdn.net/cxh_1231/article/details/90318387
  • 说明:本文从:①申请SSL证书、②phpStudy环境下配置SSL证书、③http协议访问自动切换至https协议,三个方面讲述SSL证书的安装配置。
  • 关注微信公众号【知行校园汇】可了解更多WUTer知识。
  • >>点击查看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协议。

六、参考文献:

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

猜你喜欢

转载自blog.csdn.net/cxh_1231/article/details/90318387