先说下小编的环境:phpstudy2018(php-7.2.10-nts+Apace)
不得不说,用phpStudy2018实现本地的https访问,踩了很多,很多的坑。
大误区:一定要有域名,才可以申请ssl的证书,说实在话,这个确实对于小编来说,误导有点深了,因为小编自己也是在做网站,大部分市面上的ssl证书也都是跟域名绑定的,几乎是没有看到是用ip的ssl证书,而且有次跟同事去吃饭的时候,也有跟他交流过这个问题,也是说一定要有域名才可以申请证书,但是这次折腾本地的ssl证书,查阅了相关资料,才发现ip也是可以申请证书的,不过需要注意点也是挺多的,给大家分享下。
IP申请SSL证书需要注意以下几点
1、须是公网IP (内网IP不可以),那肯定的话,要想大家都能访问的到,当然要是公共的网络ip了。
2、申请者对这个IP具有管理权限,应该需要开放对应的Web服务器的端口80,https的443端口,这点小编觉得一般大家都是满足的。
3、申请者必须是企业或者组织机构(目前个人不可以申请),这就有点蛋疼了。
4、可以申请单IP证书或多IP证书,不支持IP段的通配。
搭建本地ssl证书步骤
步骤1、开启PHP中的php_openssl扩展,如下图打开phpstudy—>其它选项菜单—>PHP扩展及设置—>PHP扩展—>php_openssl,前面打勾
步骤2、开启Apache中的ssl_module模块,如下图打开phpstudy—>其它选项菜单—>PHP扩展及设置—>Apache模块—>ssl_module,前面打勾
步骤3、打开httpd-conf文件并编辑,如下图打开phpstudy—>其它选项菜单—>打开配置文件—>点击httpd-conf
在刚才打开的那个文件中直接搜索【Include conf/extra/httpd-ssl.conf】,网上教程中这步,大部分是说把前面的#后去掉后(即引入该文件),但是实际上小编的是推荐这样做,即也不注释那行,而是在这行的下面增加一行,留着备份(这个小编是觉得非常重要的一点),比如小编在下面增加的一行是【Include conf/extra/new_httpd-ssl.conf】,是的,就是改了个名字,那么对应的我们就要在对应的目录,新建个new_httpd-ssl.conf文件即可,然后粘贴以下的代码:
Listen 443 <VirtualHost *:443> DocumentRoot "要更改的点1" ServerName 127.0.0.1 ServerAlias 127.0.0.1 SSLStrictSNIVHostCheck off SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL SSLProtocol all -SSLv2 -SSLv3 SSLEngine on SSLCertificateFile "要更改的点2" SSLCertificateKeyFile "要更改的点3" <Directory "要更改的点4"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
注意:上面的代码是需要根据你自己实际路径进行添加的
- 要更改的点1:你网站的文件夹路径,比如我的是
D:\phpStudy\PHPTutorial\WWW\wordpress
- 要更改的点2:phpstudy默认是有给我们提供个本地证书的crt文件,大概位置,
D:\phpStudy\PHPTutorial\Apache\conf\ssl\serverone.crt
,所以这个地方填的就是这个文件路径。 - 要更改的点3:phpstudy默认是有给我们提供个本地证书的key文件,大概位置,
D:\phpStudy\PHPTutorial\Apache\conf\ssl\serverone.key
,所以这个地方填的就是这个文件路径。 - 要更改的点4:同要更改的点1。
步骤4、以上步骤都操作完成后,是需要把phpStudy这个软件重启下,才可以生效的。