前段时间客户一个涉及地理定位功能的页面忽然出问题不能正常使用,在修复的过程当中发现定位的方法 getCurrentPosition 只能在 https 协议下才能成功调用,这致使我在本地不能调试,每次修改完必须上传到生产环境,能够想象这整个过程是多么痛苦。因而这几天特意学了下如何在本地启用 https ,并将它记录下来以备不时之需:nginx
一、安装 opensslnpm
二、创建服务器私钥 —— 私钥最好创建在服务区的根目录下(我本地用的是 nginx)安全
openssl genrsa -des3 -out server.key 1024
在这个过程当中须要输入密码短语,须要记住这个密码,后面会用到服务器
三、生成安全证书网站
openssl req -new -key server.key -out server.csr
这一步须要手动输入以下内容:spa
- Country Name(国家:中国填写CN)
- State or Province Name(区域或是省份:Beijing)
- Locality Name(地区局部名字:Beijing)
- Organization Name(机构名称:填写公司名)
- Organizational Unit Name(组织单位名称:部门名称)
- Common Name(网站域名)
- Email Address(邮箱地址)
- A challenge password(输入一个密码)
- An optional company name(一个可选的公司名称)
此时会在当前目录生成 server.csr 文件,而后依次执行以下命令:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
四、配置 Nginx —— 在 Nginx 中找到你想要配置的域名的 .conf 文件写入以下配置内容调试
- listen 443 ssl; (端口号并开启ssl)
- server_name xxx.xxx.com; (域名)
- ssl_certificate /... /server.crt; (证书在本机的路径)
- ssl_certificate_key / ... /server.key; (key在本机的路径)
……code
五、安装证书 —— 双击 server.crt 便可安装证书,安装完后会打开钥匙串,里面包含不少证书和应用程序秘密,刚刚安装好的证书也在里面,双击打开该证书 -> 点击信任左边的三角按钮 -> 设置“使用此证书时”的选项为“始终信任”
重启 Nginx ,用 Safari 打开本地 https 网站已经没有问题了,但用 Chrome 打开本地 https 网站仍然提示安全问题,不要紧咱们能够无视强行访问,毕竟咱们开启 https 只是为了方便开发而已。