搭建本地wamp https SSL 测试环境

    php

前言

微信小程序,需要全站的数据均为https的传输协议。

之前阿里云的ssl传输,直接使用的cdn 服务端生成的证书,其实是个非完全的加密(用户到 阿里云cdn 属于安全的ssl传输,cdn节点到阿里云自家服务器用的还是传统的传输协议)

但是,证书申请和配置都非常方便,而且安全性也足够,关键是免费!

但是本地开发的时候,测试就比较烦恼了。 如果提供了 appid 之后的小程序测试环境,需要读取配置中的可信域名作为数据来源的可信域名测试环境。 因此,就需要配置一个本地的https环境用于开发测试。

原理其实就是自己给自己颁发一个证书,然后信任自己 ^_^

配置本地SSL环境流程大致如下

    1. 使用openSSL 生成证书(证书中包含域名和来源者的身份信息);
    1. 服务端开启对SSL的支持模块
    1. 服务端配置文件修改映射域名端口和证书路径
    1. 系统hosts配置文件修改端口(实际这个端口可以不用加,但是加和不加是有区别的)并重启服务。

详细操作流程如下

1. 生成证书

使用openSSL生成证书。 首先下载openSSL,然后生成证书。
openssl下载:链接: http://pan.baidu.com/s/1kUF7Vk7 密码: 45b4
我们只需要公钥,私钥,和证书即可。
这里我们的开发环境为 wamp,因此可以直接使用apache自带的openssl 来生成证书。

  • 找到apache的conf目录, 在该目录下运行cmd(按住Ctrl右键 文件夹空白处),在此处运行cmd
  • 生成server.key

    1
    openssl genrsa 1024>server.key
  • 生成server.csr

    1
    openssl req -new -key server.key > server.csr

    需要用户输入国家代码之类的信息,可以随便输入。 除了 Common Name 只能输入域名或IP,而且Common Name 必须和 httpd.conf 中 server name 必须一致, 否则 apache 不能启动

  • 生成server.crt
    1
    openssl req -x509 -days 365 -key server.key -in server.csr > server.crt

2. 以wamp环境为例,修改服务端配置

  • 配置:httpd.conf,取消注释:
    1
    2
    Include conf/extra/httpd-ssl.conf
    LoadModule ssl_module modules/mod_ssl.so

注意这里的”httpd-ssl.conf “ 文件中,默认有一个主机配置,如果需要使用,请修改对应的网站根目录路径和apache路径,否则会导致apache启动失败。 这里我们建议使用包含vhosts文件的形式。

  • 配置vhosts文件,端口改为443,然后在对应的vhosts文件中增加证书和服务器公钥文件路径。其中 C:/wamp/bin/apache/apache2.4.9/ 替换为apache路径

    1
    2
    3
    SSLEngine on
    SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/server.crt"
    SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/server.key"
  • 重启apache,如果出现无法启动的情况,请检查apache路径。

页阅读量:  ・  站访问量:  ・  站访客数: