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

最后生成证书如下

4.修改 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
  • 访问

输入你配置好的域名即可访问了

标签:WindowsNginx 发布于:2019-10-18 09:04:28