Windows环境下phpstudy配置Apache https安全套接字层SSL

这篇文章中的实测不行,大家不要浪费时间 http://www.cnblogs.com/rockin/articles/943668.html

参考1 http://bbs.ecmobile.cn/read.php?tid=370&fid=16 ecmobile添加支付宝功能图文流程

参考2 http://blog.sina.com.cn/s/blog_58f71ef00102wvlx.html

前提条件

在设置Apache + SSL之前, 请确认Apache已经安装并可以正常工作. 并且ssl需要的文件在如下的位置:
[Apache安装目录]/modules/mod_ssl.so
[Apache安装目录]/bin/openssl.exe、 libeay32.dll、 ssleay32.dll、openssl.cnf(PHPStudy里面自带了openssl,去php扩展里面开启php_openssl,但是bin目录下没有openssl.cnf,需要将conf下的openssl.cnf拷贝一份到bin目录下
[Apache安装目录]/conf/openssl.cnf

创建SSL证书

步骤一: 执行命令:

openssl genrsa 1024 >znrr.key
 (RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度约长,安全性相对会高点)完成密钥znrr.key生产完毕后进行步骤二操作。



步骤二:生产为签署的znrr.csr执行命令:

openssl req -new -config openssl.cnf -key znrr.key >znrr.csr
 (如果不加-config .openssl.cnf参数的话,常会报Unable to load config info from .../ssl/openssl.cnf)
之后就会要求输入一系列的参数:
Country Name (2 letter code) [AU]:CN ISO 国家代码(只支持两位字符)
State or Province Name (full name) [Some-State]:GD 所在省份
Locality Name (eg, city) []:GZ 所在城市
Organization Name (eg, company): 公司名称
Organizational Unit Name (eg, section) []: 组织名称
Common Name (eg, YOUR name) []: 申请证书的域名(建议和httpd.conf中serverName必须一致否则有可能导致apache不能启动)
Email Address []:admin@admin.com 管理员邮箱
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:交换密钥 (随意写)
An optional company name []:(建议和httpd.conf中serverName必须一致否则有可能导致apache不能启动)  


里面的资料对应到后面配置好证书的截图如下


步骤三:签署服务器证书文件 znrr.crt执行命令:

 openssl req -x509 -days 5000 -config openssl.cnf -key znrr.key -in znrr.csr >znrr.crt
参数说明:这是用步骤 1,2 的的密钥和证书请求生成证书 znrr.crt,
-days 参数 指明证书有效期,单位为天,
x509 表示生成的为 X.509 证书。

步骤四:

建立文件夹 D:\phpStudy\Apache\conf\ssl,找到znrr.crt、znrr.csr、znrr.key三个文件,将此三个文件剪切到Apache的\conf\ssl目录下。

设置Apache支持SSL

注意: 本设置步骤针对针对Apache 2.2.x版本,在Apache的conf目录中用文本编辑器打开httpd.conf

1. 去掉下面设置行前面的#

LoadModule ssl_module modules/mod_ssl.so

2. 去掉下面设置行前面的# (在2.0.x版本中没有这一项)

Include conf/extra/httpd-ssl.conf

3. 在Apache的conf/extra目录中打开httpd-ssl.conf, 我自己亲自配置的贴出来,开头那篇文章可能年代久远有点无人子弟浪费了一下午时间,终于配置好了,基于phpstudy的

Listen 443
SSLPassPhraseDialog  builtin

SSLSessionCache        "shmcb:D:/phpStudy/Apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost *:443>

DocumentRoot "D:\phpStudy\WWW"
ServerName localhost:443
ErrorLog "D:/phpStudy/Apache/logs/error.log"
TransferLog "D:/phpStudy/Apache/logs/access.log"

SSLEngine on


SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile "D:/phpStudy/Apache/conf/ssl/znrr.crt"
SSLCertificateKeyFile "D:/phpStudy/Apache/conf/ssl/znrr.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "D:\phpStudy\WWW">
    Options Indexes
    AllowOverride All
    Order allow,deny
    IndexOptions Charset=UTF-8
    Allow from all
</Directory>

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0


CustomLog "D:/phpStudy/Apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>                                  

  顺利启动之后, 在浏览器中输入 https://localhost  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值