window系统创建自签名SSL证书进行https加密域名访问
应用场景
公众号只配置了https的url地址,用Nginx做反向代理时被服务拦截提示“此网站无法提供安全连接”
tips:
- 公众号后台路径区分http和https
-
hosts文件和nginx配置在没有SSL证书的情况下,无法代理https流量,所以需要申请自签名证书
OpenSSL
github地址
https://github.com/openssl/openssl
官方文档
https://www.openssl.org/
快捷安装包地址
http://slproweb.com/products/Win32OpenSSL.html
下载window exe安装包
安装OpenSSL
同意,并下一步
记住安装的文件夹路径,待会会用到
下一步
下一步
下一步
下一步
下一步
安装成功
生成SSL
打开安装OpenSSL的文件夹,进入bin目录
以管理员身份打开openssl.exe文件
tips:
如果这个地方打不开,设置环境变量,如果能正常打开则下面的所有命令都不用加openssl。
设置环境变量,例如工具安装在C:\OpenSSL-Win64,则将C:\OpenSSL-Win64\bin;复制到Path中
打开命令行程序cmd(以管理员身份运行),运行以下命令:
openssl genrsa -des3 -out server.key 2048
回车,再依次输入2次密码,直接输入123465就行
完成后自动生成server.key文件
继续使用key自签名生成csr文件
输入以下命令
openssl req -new -key server.key -out server.csr
注意,会先输入密码,在输入其他信息,最后再输入密码
参数说明
Country Name (2 letter code) [AU]:CN #国家
State or Province Name (full name) [Some-State]:Beijing #省
Locality Name (eg, city) []:Beijing #市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ncda #公司
Organizational Unit Name (eg, section) []:IT #部门
Common Name (e.g. server FQDN or YOUR name) []:localhost #域名 这里需要输入服务器的域名
Email Address []:kong.weisheng@nidec.com #邮箱
到这里就生成了server.csr文件
删除密码
为了避免每次启动服务器都要输入SSL密码,在这里生成一个不需要密码的key
输入以下命令
openssl rsa -in server.key -out server_no_passwd.key
输入之前设置的密码确认即可
继续生成自签名文件
openssl x509 -req -days 36500 -in server.csr -signkey server_no_passwd.key -out server.crt
到这里就可以了
双击server.crt安装证书
设置hosts
开启nginx
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 代理测试环境 server { listen 80; server_name test.com; location / { # root html; # index index.html index.htm; proxy_set_header host $host; proxy_pass http://127.0.0.1:8095; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # test server { listen 443; # test server_name test.com; ssl on; # root html # index index.html index.htm; # SSL证书放在了同级目录small文件夹下面 ssl_certificate cert/test/server.crt; ssl_certificate_key cert/test/server_no_passwd.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { # 指向当前的某个服务端口 proxy_pass http://127.0.0.1:8095; #设置请求头,并将头信息传递给服务器端 proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
继续前往,虽然没有小绿锁,但是能正常访问并获取数据
END.
原文地址:https://www.cnblogs.com/yoo104/p/15292890.html
- 初学HTML一些基本控件语句
- java学习之第五章编程题示例(初学篇)
- java第四章编程题(初学篇)
- java测试Unicode编码以及数组的运用(初学篇)
- HDUOJ---1754 Minimum Inversion Number (单点更新之求逆序数)
- HDUOJ-------1753大明A+B(大数之小数加法)
- HDUOJ---1754 I Hate It (线段树之单点更新查区间最大值)
- HDUOJ----1166敌兵布阵(线段树单点更新)
- poj----2155 Matrix(二维树状数组第二类)
- poj------2352 Stars(树状数组)
- HDUOJ-----2852 KiKi's K-Number(树状数组+二分)
- nyoj----522 Interval (简单树状数组)
- HDUOJ-----2838Cow Sorting(组合树状数组)
- HDUOJ---2642Stars(二维树状数组)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 除了会排序,你对ORDER BY的用法可能一无所知!
- 修改xposed特征并刷机
- Python 爬虫进阶必备 | 关于某租房网站数据加密的分析
- CMAKE学习记录(二)
- maven 中的版本依赖冲突问题
- Manual for Ubuntu Installation
- 修改自定义站点监控页面的样式
- 快速建站“新玩具”—glitch.me
- 踩坑记 | Flutter升级影响了NestedScrollView?
- Android | xml和view的那些事
- Android | 资源冲突覆盖的一些思考
- 如何用脚本自动转化,一个protobuf文件到json格式
- 聊聊dubbo-go的forkingCluster
- 还在用 map[string]interface{} 处理 JSON?告诉你一个更高效的方法——jsonvalue
- 聊聊dubbo-go的failsafeCluster