windows下本地搭建https服务器

本地生成秘钥和证书

生成秘钥

生成秘钥是生成证书的前提

  • 使用git的命令行工具(或者cmder)输入一下命令: 其中privatekey.pem为秘钥名称, 可自行设置

  • 注意使用cmd命令行是不行的, cmd命令行并不能识别openssl命令

openssl genrsa -out private.key 1024/2038
回车后会在当前目录生成一个文件: private.key 秘钥文件

make-privatekey.png

使用秘钥生成证书

  • git的命令行下输入以下命令: 其中-days 365表示证书有效期为365天; privatekey.pem就是刚才生成的秘钥

openssl req -new -x509 -key private.key -out cert.pem -days 365

回车后, 按照提示输入对应信息; 其中Common Name (e.g. server FQDN or YOUR name) []:这项不能随便输入(言外之意, 其他选项可以随意输入), 必须输入你即将开启https服务的域名, 比如:*.duans.top表示对所有二级域名均生效, 也可以输入一个具体的域名, 比如: www.duans.top

make-serverpem.png

信息输入完成后, 会在当前目录下生成一个文件: server.pem证书文件

配置nginx搭建https服务

  • nginx的安装目录下新建一个目录key;将刚才生成的文件拷贝到该目录下(原则上放在任何目录都可以, 只要不删除即可)

  • 开始配置nginx服务器, 打开nginx服务器的配置文件conf/nginx.conf, 在server配置节点下添加如下配置(其中+为新增配置项)

server {
    #一定要监听443端口
    listen 443;
    #自己的域名
    server_name www.duans.top;
 
    + ssl on;
    #证书路径
    + ssl_certificate /path/to/server.pem;
    #秘钥路径
    + ssl_certificate_key /path/to/privkey.pem;
}

# 虚拟主机的完整配置
server {
    listen       443 ssl;
    server_name  www.duans.cc;
    ssl_certificate      cert/server.pem;
    ssl_certificate_key  cert/privatekey.pem;
    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;
    }
}
  • 重启nginx服务器即可生效

如果在访问过程中浏览器提示没有建立安全链接等字样, 可忽略, 继续访问即可

browser-error-tips.png
cat-cert-01.png
cat-cert-02.png

将nginx加入到系统服务

  • 下载Windows Service Wrapper工具

  • 解压后将最新的1.9版本重命名为“mynginx.exe” 并将其放到nginx根目录下

  • 新建一个文本文档mynginx.xml内容如下:(里面的路径根据自己的情况修改) 同样放到nginx根目录下

    
 nginx    
 nginx    
 nginx    
 C:\webService\nginx-1.15.8\nginx.exe    
 C:\webService\nginx-1.15.8\logs    
 roll    
     
 -p C:\webService\nginx-1.15.8    
 -p C:\webService\nginx-1.15.8 -s stop    

nginx-dir.png
  • 管理员运行cmd,cd进入nginx目录,执行如下命令:mynginx.exe install

命令行启动nginx服务

  • 启动 net start nginx

  • 停止 net stop nginx

图形界面启动nginx

  • windows+R打开命令行

  • 输入services.msc命令; 打开系统服务列表,, 找到nginx服务, 如图所示

    ui-option-nginx.png

参考文档

  • windows安装nginx作为系统服务

  • windows命令行操作系统服务

你可能感兴趣的:(windows下本地搭建https服务器)