内网环境下使用https免费证书 及 相关问题处理
项目中,有时需要在内网搭建https服务的需求,这时就需要用到ssl 证书。解决方案有两种,收费方案和免费方案。收费方案就不多说了,国内有很多可提供此类服务的服务商。下面主要说一下免费方案。
免费方案有两种方式:
方式一:自己生成证书,使用openssl工具。
1。制作私钥证书key
# 使用rsa算法2048位生成key openssl genrsa -out test-ingress-1.key 2048
2。制作公钥证书crt
# 使用key生成crt openssl req -new -x509 -days 3650 -key ingress.key -out ingress.crt
3。将key和crt转换为pem
# 将key转换为pem openssl rsa -in example.key -out example.pem # 将crt转换为pem openssl x509 -in example.crt -out example.pem # 合并key和crt为一个pem文件 #cat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
方式二:使用正规机构提供的免费证书。
利用阿里云等第三方机构提供的免费证书配置到内网使用(由于是跟域名绑定的,需要把内网IP映射到域名)。
1、去阿里申请免费证书,下载后配置到nginx中
2、修改用户PC上的hosts文件。一般在目录:C:\Windows\System32\drivers\etc\hosts ,把服务器的IP添加到hosts中 。
实际操作时不太方便,可写一个脚本或exe程序自动添加,需要此程序可联系我加微信robnote。
192.168.0.100 lostvip.com
常见问题:如果使用的旧版本的nginx配置文件,chrome可能会提示协议不支持,这是因为nginx使用低版本的SSL协议。
打开nginx的配置文件,修改
修改: ssl_protocols SSLv2 SSLv3 TLSv1;
改为:ssl_protocols TLSv1.2 TLSv1.3;
让nginx重新加载配置文件即可: nginx -s reload
此时,即可通过 https://lostvip.com 访问内网服务了。前端调用接口时,不要再使用ip,改为对应的域名!
发表评论