admin 管理员组

文章数量: 887021

1.安装nginx

下载与当前Windows系统版本对应的nginx,本次选择的是nginx-1.8.1版本。附上nginx下载地址:http://nginx/en/download.html。

2.安装OpenSLL

下载地址:http://slproweb/products/Win32OpenSSL.html。(根据Windows系统版本下载32位或者64位,本次下载版本为Win64 OpenSSL v1.1.0i)。

下载完成后进行安装,本次安装地址为D:\OpenSSL-Win64文件夹。

3.配置环境变量

在环境变量中添加环境变量,变量名为OPENSSL_HOME,变量值为D:\OpenSSL-Win64\bin(指向OpenSLL的安装路径)。

在环境变量path的末尾添加%OPENSSL_HOME%。

在环境变量中添加环境变量,变量名为 OPENSSL_CONF,变量值为 D:\OpenSSL-Win64\bin\openssl.cfg(指向openssl.cfg文件目录)。

4.生成证书

(1)在nginx安装目录中创建ssl文件夹用于存放证书,如:D:\nginx-1.8.1\ssl。

以管理员的身份运行cmd.exe,进入ssl文件夹。

(2)创建私钥

在命令行中执行命令:openssl genrsa -des3 -out demo.key 1024(demo是文件名,可以自定义),此处要输入和验证密码(本次设置为123456),请记住改密码,后面会用到。

(3)创建csr证书

在命令行中执行命令:openssl req -new -key demo.key -out demo.csr(key文件为刚才生成的文件,demo为自定义文件名),如下图所示。这里主要设置的是国家地区以及组织名称等信息,最重要的是Common Name,这里输入的就是我们要用https访问的域名。完成以上步骤后,ssl文件夹中会生成demo.csr和demo.key两个文件。

(4)去除密码

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。

复制demo.key并重命名为demo.key。

在命令行中执行此命令:openssl rsa -in demo.key -out demo.key。如下图所示,此命令需要输入刚才设置的密码。

(5)生成crt证书

在命令行中执行此命令:openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt。

证书生成完毕,我们在ssl文件夹中可以看到生辰的证书文件,我们要用到的就是demo.crt和demo.key。

5.修改nginx配置

在nginx.conf文件夹中的如下位置

# HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
#}

后面添加一个如下server

server {
        listen  443 ssl;
        server_name      www.demo;

        ssl_certificate      D:/nginx-1.8.1/ssl/demo.crt;
        ssl_certificate_key  D:/nginx-1.8.1/ssl/demo.key;

        location / {
         root   html;
         index  index.html index.htm;
        }
     }

6.启动nginx

正常启动nginx后,使用https:www.demo访问,可以正常跳转。

本文标签: 系统配置 Windows HTTPS nginx