使用mkcert为localhost(本地)站点添加被浏览器信任的证书
环境
Windows 2016 LTS 64 bit
PhpStudy 2017 (PHP 7.0.12 nts + Apache)
mkcert for windows
Chrome 73.0.3683.103
使用mkcert生成自签证书
下载mkcert for windows 64bit 如果遇到权限问题,以管理员权限运行。

安装根证书

签发任意域名的证书


配置PhpStudy的Apache关于SSL的设置
确保你的apache编译了ssl模块,这是支持ssl证书必要的条件(如果没有,请编译,打开phpstudy——设置——PHP模块扩展——php-openssl前面勾选上)。
进入到apache目录下,httpd.conf找到#LoadModule ssl_module modules/mod_ssl.so,去掉前面的注释符,使得ssl模块生效(如果该模块已去掉注释,请不用操作)。

找到网站配置文件vhosts.conf,按照80的配置,另起一个VirtualHost443
<VirtualHost *:443>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW\Pigeon"
ServerName www.pigeon.com
ServerAlias pigeon
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
SSLCertificateFile "C:\phpStudy\PHPTutorial\Apache\conf\ssl\www.pigeon.com.pem" #(服务器上公钥证书路径)
SSLCertificateKeyFile "C:\phpStudy\PHPTutorial\Apache\conf\ssl\www.pigeon.com.key" #(服务器上私钥证书路径)
SSLCertificateChainFile "C:\phpStudy\PHPTutorial\Apache\conf\ssl\ca-bundle.crt" #(服务器上证书链路径)
<Directory "C:\phpStudy\PHPTutorial\WWW\Pigeon">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
重启apache
apache正常重启后,在浏览器里面输入 https://www.pigeon.com 就能看到安全锁出来啦。

HTTP 自动跳转到 HTTPS
进入到apache目录下,httpd.conf找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符

在网站根目录创建.htaccess文件
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
windows系统中创建以点.开头的文件及文件夹的方法
使用命令行

参考资料: