1、需求
在BS应用研发过程中,很多浏览器的功能需要在开启web服务器的https功能才能实现,例如chrome浏览器的系统剪切板(Ctrl+C/Ctrl+V)的使用,但是开发过程中,一般使用内部的服务器,只有IP地址,而没有域名,通过购买或者免费的SSL证书无法绑定IP地址,因此需要一些方法配置能够使用内部IP地址的web服务器的SSL证书,以实现HTTPS的访问。
2、软件列表
1)mkcert:用于生成SSL证书,下载网址: https://github.com/FiloSottile/mkcert/releases/latest
2)宝塔面板:用于配置web网站,此处我使用的nginx的web服务器。
3、配置步骤
下载mkert, 运行mkert生成证书,转换证书为crt和key格式,宝塔面板中添加证书。
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-arm64
chmod +x mkcert-v1.4.4-linux-amd64
sudo cp mkcert-v1.4.4-linux-amd64 /usr/local/bin/mkcert
mkcert -install
mkcert -CAROOT
mkcert localhost 127.0.0.1 ::1 192.168.0.76
openssl x509 -in localhost+3.pem -out localhost+3.crt
openssl rsa -in localhost+3-key.pem -out localhost+3.key
配置宝塔面板中的密钥和证书:
左边“密钥(KEY)”的内容来自于生成的“localhost+3.key”文件:
右边的“证书(PEM格式)来自于生成的文件:localhost+3.crt
添加完成后,点击按钮,内网IP的https功能就可以工作了。