ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

window10环境ngnix配置https记录

2021-12-30 11:04:58  阅读:234  来源: 互联网

标签:https 证书 demo ngnix openssl ssl key window10


一 背景

移动端调用摄像头需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,证书,demo,ngnix,openssl,ssl,key,window10
来源: https://www.cnblogs.com/tong2018/p/15747703.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有