0. 将SSL证书解压到以下目录,申请方式见 百度
Apache/cert/
分别更名为
my_public.crt
my.key
my_chain.crt
1. phpStudy->其它选项菜单->php扩展及设置->php扩展->php-openssl打钩,之后在Apache根目录下的conf文件夹中的httpd.conf 添加一句(我的在C:\phpStudy\PHPTutorial\Apache\conf)
1 Include conf/my_ssl.conf
2. 编写my_ssl.conf 如下:(放在Apache的conf目录下),#号后面的表示注释,使用时请删除
Listen 443 <VirtualHost *:443> DocumentRoot "C:\phpStudy\PHPTutorial\WWW" ServerName www.mjywxy.xin ServerAlias mjywxy.xin SSLEngine on SSLProtocol TLSv1 TLSv1.1 TLSv1.2 #指定SSL协议的版本 SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL #指定算法;不指定,使用默认也可;详情见https://www.jb51.net/tools/onlinetools/apache-chs/mod/mod_ssl.html SSLCertificateFile "C:/phpStudy/PHPTutorial/Apache/cert/my_public.crt" SSLCertificateKeyFile "C:/phpStudy/PHPTutorial/Apache/cert/my.key" SSLCertificateChainFile "C:/phpStudy/PHPTutorial/Apache/cert/my_chain.crt" <Directory "C:\phpStudy\PHPTutorial\WWW"> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
【解释:Options的选项,前加 + 代表允许目录浏览;加 – 代表禁止目录浏览,详情见 https://codeplayer.vip/p/j7sc7 】
【解释:在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。】
【以下表示:先检查允许设定,没有允许的全部禁止
Order allow,deny Allow from all】
Require all granted 允许所有访问请求
如果Apache无法启动,请检查语法等(conf文件的代码不能有缩进,有缩进会报语法错误)(#号后面的表示注释,使用时请删除,因为有可能会有语法报错)
如果还未解决,可用命令行运行 C:/phpStudy/PHPTutorial/Apache/bin/httpd -t
会有报错提示,可百度解决
3. 服务器中用IE浏览器输入localhost,看是否跳转至https成功
4. 如果成功,则看自己电脑能不能访问https的你的网站。如果不能,则应该是入网规则没配置好,或者没做端口映射
-------------------------------------我是一条分割线--------------------------------------------
若用的是阿里云服务器,可参考如下方式:
登录阿里云->管理控制台->云服务器ESC->管理实例->安全组规则-> 添加安全组规则
选入网规则,填入:
端口范围:443
授权对象:0.0.0.0/0
表示对所有ip允许访问实例的443端口