window10环境ngnix配置https记录

一 背景

移动端调用摄像头需https, 公司移动端网页版页面需调用摄像头,所以需配置https。但是项目未上线,还没有正式域名,只能自己生成证书了。

二 步骤

 1 安装nginx,我的版本是1.12.2的

 2 openssl下载地址,我下载的Win64 OpenSSL v1.1.1m(msi版本),也可在我网盘中下载

  官网地址:https://slproweb.com/products/Win32OpenSSL.html

  网盘地址:链接:https://pan.baidu.com/s/1gljmcFAFSs5J5VWmfffxcA   提取码:ke28

   3 配置环境变量

  新增 OPENSSL_HOME:D:\dev\OpenSSL\OpenSSL-Win64\bin

  新增 OPENSSL_CONF:D:\dev\OpenSSL\OpenSSL-Win64\bin\openssl.cfg

  path追加:%OPENSSL_HOME%

   4 生成证书,我直接在ngnix下html目录中生成的,打开cmd到生成证书位置

  4.1 创建私钥

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

 

   4.2 创建csr证书

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

 

    4.3 去除密码

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

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

     4.4 生成crt证书

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

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

  5 修改nginx配置,在server{}中加入如下代码,如下图所示

  
        #ssl证书的pem文件路径
        ssl_certificate      /html/demo.crt;
        #ssl证书的key文件路径
        ssl_certificate_key  /html/demo.key;
        #将请求转成https  80端口用这个
        #rewrite ^(.*)$ https://$host$1 permanent;
        #将请求转成https  非80端口用这个
        error_page 497 301 https://$http_host$request_uri;

6 参考连接地址

   https://www.cnblogs.com/vincent-li666/p/5851463.html

  https://blog.csdn.net/sunroyfcb/article/details/83592553

  https://blog.csdn.net/weixin_44316575/article/details/85328224

原文地址:https://www.cnblogs.com/tong2018/p/15747703.html