背景

        在Android开发中使用平板设备进行调试,Android版本是13。在调试中遇到一个这样的报错信息:“java.io.IOException: Cleartext HTTP traffic to 192.168.137.1 not permitted”,然后查了下报错原因是:应用正在尝试通过不安全的HTTP协议进行网络通信,而你的应用运行的环境(比如Android 9 Pie或更高版本)默认只允许使用安全的HTTPS协议。于是便想到修改服务器配置,配置服务器支持HTTPS并确保正确安装了SSL证书。

        在Windows 10上为Nginx设置自签名证书以启用HTTPS,你需要执行以下步骤: 

        1)创建自签名证书

        使用Windows自带的makecert.exe工具或者OpenSSL来生成一个自签名的SSL证书。

        2)配置Nginx

        修改Nginx配置文件以指向你的证书文件,并设置SSL。

1.配置文件        

        本例用到的前提是在Windows10系统安装了openssl_win64bit版本。用到配置文件的方式来创建证书,因此提前准备好配置文件ca_openssl.cnf。这个配置文件可以通过获取默认配置文件然后修改成自己需要的配置并保存未ca_openssl.cnf。以下是获取默认openssl.cnf的方法:

$ openssl version -d
 
OPENSSLDIR: "xxxxxx\SSL"

Windows10上Nginx如何通过自签名证书方式发布Https服务(上)-LMLPHP

        在上面打印的目录中可以查看到openssl.cnf文件:

Windows10上Nginx如何通过自签名证书方式发布Https服务(上)-LMLPHP

2.生成根证书 

2.1生成私钥

        输入以下命令,回车;提示输入密码,我设定的密码是123456,为方便记忆,后面密码都默认是123456,根据自己需求设置就好。

08-31 06:52