内网环境下使用https免费证书

作者 免费程序员 2021年09月07日 15:03 阅读 2285

内网环境下使用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,改为对应的域名!

发表评论