梦想之家

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+

您此刻的心情: