从http到https--phpStudy2018

0. 将SSL证书解压到以下目录,申请方式见 百度

Apache/cert/

分别更名为
my_public.crt
my.key
my_chain.crt

1. phpStudy->其它选项菜单->php扩展及设置->php扩展->php-openssl打钩,之后在Apache根目录下的conf文件夹中的httpd.conf 添加一句(我的在C:phpStudyPHPTutorialApacheconf)

1 Include conf/my_ssl.conf

2. 编写my_ssl.conf 如下:(放在Apache的conf目录下),#号后面的表示注释,使用时请删除

Listen 443

<VirtualHost *:443>
DocumentRoot "C:phpStudyPHPTutorialWWW"
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:phpStudyPHPTutorialWWW">
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端口

原文地址:https://www.cnblogs.com/mjy2wxy/p/11832528.html