windows服务器PHPstudy的Apache环境下配置ssl证书需要设置的几个地方
今天复制论坛内的一篇帖子到一个网站,发现图片不显示,想到是因为HTTPS站点不加载http图片素材的原因,于是想给站点加一个ssl证书以实现图片的https化。目前只想弄图片,关于整站HTTPS的事情暂时用不到,以后再说,这里说明一点:加了证书以后,站点还是以http协议的形式存在,图片也是,但其实图片是拥有了双从属性的,既可以通过http访问图片路径,也可以通过https访问图片路径,这就可以达到复制http站点内容到https站点还能正常加载图片的目的,思路有了然后就开始捣鼓吧。
老样子,百度里先看看有没有现成的教程,有的话直接拿来用,不行再自己研究,好在有一些琐碎的帖子,整理一下发出来记录一下,方便以后查阅。
一.申请SSL证书
这个很多渠道,有很多免费证书,单域名的就行,好多云网站都有提供,比如阿里云,申请好以后下载好。
二.建个目录,解压证书
在服务器内建个文件夹,为了好找就在PHPstudy程序里建吧,比如\PhpStudy\Apache\conf\cert,把压缩文件解压出来,阿里云提供的是3个文件,这个看了不同的几个帖子,关于3个文件有不同的处理方式,这里只记录我实践后可行的。
三.打开phpStudy,如图所示,找到“php-openssl”
四.打开配置文件,点击“httpd-conf”
五.找到
- #LoadModule ssl_module modules/mod_ssl.so
复制代码 去掉前面的注释符#(保证前面没有#号),使得SSL模块生效。
在mod_ssl.so下面新增加一条引用语句:
- LoadModule ssl_module modules/mod_ssl.so Include conf/vhosts_ssl.conf
复制代码
六.依次打开phpstudy安装文件,打开Apache打开conf文件,在conf文件夹 中创建一个名为vhosts_ssl.conf的配置文件
七.编辑vhosts_ssl.conf文件,增加如下内容:- Listen 443
- SSLStrictSNIVHostCheck off
- SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
- SSLProtocol all -SSLv2 -SSLv3
- <VirtualHost *:443>
- DocumentRoot "项目根路径,注意斜杠朝右\这种格式"
- ServerName 填写域名
- ServerAlias 还是填写域名
- <Directory "项目根路径,注意斜杠朝右\这种格式">
- Options FollowSymLinks ExecCGI
- AllowOverride All
- Order allow,deny
- Allow from all
- Require all granted
- </Directory>
- SSLEngine on
- SSLCertificateFile "D:\PhpStudy\Apache\conf\cert\8097467_bbs.weixinrj.com_public.crt"
- SSLCertificateKeyFile "D:\PhpStudy\Apache\conf\cert\8097467_bbs.weixinrj.com.key"
- SSLCertificateChainFile "D:\PhpStudy\Apache\conf\cert\8097467_bbs.weixinrj.com_chain.crt"
- </VirtualHost>
复制代码
八.最后需要重启phpStudy,重启之后,则完成windows服务器PHPstudy的Apache环境下配置ssl证书需要设置的几个地方的步骤。
注意,三个文件全部调用也行,把根证书和chain证书合并成一个调用也行。还有就是文件所在的位置和文件的名称一定要和引用的语句对应上,常见错误出现在文件名里有中横线-和下划线_的时候,易混淆。
不同版本的PHPstudy程序结构路径可能略有差别。
|