window下phpstudy使用nginx配置https
Nginx相关配置安装Openssl(下载地址:http://slproweb.com/products/Win32OpenSSL.html)安装完成记得配置环境变量。变量名:OPENSSL_HOME变量值: openssl自定义的安装目录\bin;(变量值为OPENSSL安装位置下的bin目录)并在Path变量结尾添加一条: %OPENSSL_HOME%环境变量配置操作:计算机-》右击-》属性-
Nginx相关配置
目的:获取ssl证书文件 key 和 crt
【将key转换为crt】
openssl req -new -key google_test.key -out google_test.csr
openssl x509 -req -days 365 -in google_test.csr -signkey google_test.key -out google_test.crt
【将pem转换为crt】
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
- 安装Openssl (下载地址:http://slproweb.com/products/Win32OpenSSL.html)
安装完成记得配置环境变量。
变量名:OPENSSL_HOME
变量值: openssl自定义的安装目录\bin;
(变量值为OPENSSL安装位置下的bin目录)
并在Path变量结尾添加一条: %OPENSSL_HOME%
环境变量配置操作:计算机-》右击-》属性-》打开的界面选择 高级系统设置-》环境变量

2. 生成证书
在phpstudy 安装目录下找到nginx文件夹 新建openssl目录

打开cmd 进入到openssl目录 依次执行以下操作
第一步:创建私钥
在命令行中执行命令:
openssl genrsa -des3 -out google_test.key 1024
输入密码123456,再次重复输入确认密码。记住此密码,后面会用到。
第二步:创建csr证书
在命令行中执行命令:
openssl req -new -key google_test.key -out google_test.csr
其中key文件为刚才生成的文件。
执行上述命令后,需要输入一系列的信息。输入的信息中最重要的为Common Name,这里输入的域名即为我们要使用https访问的域名 ,比如我输入的是www.google.com。其它的内容随便填即可。
以上步骤完成后,openssl文件夹内出现两个文件:google_test.csr 和 google_test.key
第三步:去除密码。
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。
复制google_test.key并重命名为google_test.key.org。
在命令行中执行如下命令以去除口令:
openssl rsa -in google_test.key.org -out google_test.key
然后输入密码,这个密码就是上文中在创建私钥的时候输入的密码(123456)。
第四步:生成crt证书
在命令行中执行此命令:
openssl x509 -req -days 365 -in google_test.csr -signkey google_test.key -out google_test.crt
至此,证书生成完毕。我们发现,openssl文件夹中一共生成了4个文件。下面,配置https服务器的时候,我们需要用到的是其中的google_test.crt和google_test.key这两个文件。


- nginx 配置
编辑D:\phpStudy\nginx\conf\vhost.conf

虚拟配置例子:
使用 crt + key 证书
server {
listen 443 ssl;
server_name www.testhttps.com ;
root "E:/www/testhttps";
ssl_certificate E:/software/phpstudy/PHPTutorial/nginx/openssl/google_test.crt;
ssl_certificate_key E:/software/phpstudy/PHPTutorial/nginx/openssl/google_test.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
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;
}
}
使用 pem + key 证书
server {
listen 443;
root "C:/ruanjian/PHPStudy/PHPTutorial/WWW";
server_name 798ziyuan.com www.798ziyuan.com;
autoindex on; #开启nginx目录浏览功能
autoindex_exact_size off; #文件大小从KB开始显示
autoindex_localtime on; #显示文件修改时间为服务器本地时间
ssl on;
ssl_certificate www.798ziyuan.com/full_chain.pem;
ssl_certificate_key www.798ziyuan.com/full_chain.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
#root html;
index index.html index.htm index.php;
}
location = /favicon.ico {
log_not_found off; access_log off;
}
}
版本:phpstudy 2018
报错:500 Internal Server Error
原因:手动选择路径的时候,产生了斜杠不同
正确:“D:/phpStudy/PHPTutorial/WWW/thinkphp50/public”
错误:“D:\phpStudy\PHPTutorial\WWW\composer\tp51\public”
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)