windows下用nginx配置https服务器
1.安装nginx
先到nginx官网下在nginx http://nginx.org/en/download.html
将下载好的文件解压出来修改文件名为 nginx ,然后拷贝到C盘下,目录如下:
运行 nginx
start nginx
验证
在浏览器中输入 localhost 访问即可,如出现以下页面,即安装成功
2.安装 OpenSSL
下载OpenSSL http://slproweb.com/products/Win32OpenSSL.html
下载完成安装到 C:\OpenSSL-Win64
配置环境变量
在path变量后需要加入 %OPENSSL_HOME%
3.生成https证书
在C:\nginx下创建ssl文件夹 用于存放证书
创建私钥 (建议使用系统窗口,不要用gitBash 有涉及到选择的地方,gitBash无法选择)
openssl genrsa -des3 -out shidian.key 1024 //shidian 自己取的名字
效果如下:
创建 csr 证书
openssl req -new -key shidian.key -out shidian.csr
此时效果:
删除密码
复制 shidian.key 并重命名 shidian.key.org
openssl rsa -in shidian.key.org -out shidian.key
生成crt证书
openssl x509 -req -days 365 -in shidian.csr -signkey shidian.key -out shidian.crt
最后生成证书如下
修改 nginx 下的 nginx.conf配置文件
C:\nginx\conf\nginx.conf
upstream nodejs__upstream2 {
server 127.0.0.1:8080; # 需要监听的端口名 我用的
keepalive 64;
}
server {
listen 443 ssl;
server_name dev.kt.looklook.cn; # 配置的https的域名
ssl_certificate C://nginx//ssl//shidian.crt; # 这个是证书的crt文件所在目录
ssl_certificate_key C://nginx//ssl//shidian.key; # 这个是证书key文件所在目录
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection “”;
proxy_http_version 1.1;
proxy_pass http://nodejs__upstream2;
}
}
重启nginx
nginx -s reload
配置host文件
C:\Windows\System32\drivers\etc 路径下
127.0.0.1 dev.kt.looklook.cn #需要配置的域名