phpstudy nginx环境添加ssl证书
某种情况在windos服务器上会有些同学安装phpstudy来做web线上环境;果然印证了“天下没有难配的php环境”那句话;
在phpstudy配置ssl中发现,不能直接修改vhost.conf这个文件,如果在里面直接修改,会导致软件读取虚拟目录失败,导致nignx服务起不来;
解决办法就是,打开 niginx.conf 配置文件,在
include vhosts.conf;
下行新增,一个ssl的配置文件,以后的ssl都可以填写在这里面
include vhostssl.conf;
配置信息和vhost的差不多,例如需要配置一个 www.dcr163.cn的ssl,首先是在phpstuy添加一个站点,这里就不多说了;然后把证书文件给放到自己知道的目录下,一般会有两个文件,一个是.pem结尾的,一个是.key结尾的,因为是在windows上使用,所以要把 .pem的文件修改成.crt后缀;
这里我放在这个目录下:
C:\phpStudy\PHPTutorial\nginx\conf\xxx_dcr163.crt
C:\phpStudy\PHPTutorial\nginx\conf\xxx_dcr163.key
下面就直接打开:C:\phpStudy\PHPTutorial\nginx\conf\vhostssl.conf这个文件,这个是自己新增的;直接上代码:
server { listen 443 ssl; ssl on; ssl_certificate 'C:\phpStudy\PHPTutorial\\nginx\conf\xxx_dcr163.crt'; ssl_certificate_key 'C:\phpStudy\PHPTutorial\\nginx\conf\xxx_dcr163.key'; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; server_name www.dcr163.com; root "C:\www"; location / { index index.html index.htm index.php; #autoindex on; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
上面代码保存后,重启phpstudy即可正常访问了;上面配置文件路径中\\n 因为\n是换行所以需要\\n专业一下;
还有就是配置完成之后访问php可能会出现: SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
那是因为php的版本太低了,建议php 5.6+
Dcr163的博客
http://dcr163.cn/219.html(转载时请注明本文出处及文章链接)