.NET 7 MAUI 使用基于 REST 的 Web 服务过程中本地开发的问题

微软文档:https://learn.microsoft.com/zh-cn/dotnet/maui/data-cloud/rest?view=net-maui-7.0

错误代码

Java.Security.Cert.CertificateException: 'The remote certificate was rejected by the provided RemoteCertificateValidationCallback.'

 

安装文档要求

 

一些视频教程按照上述配置就可以,到我这就死活报错。。。。。。。。。。。。。。。。

可能是我使用的虚拟机是Genymotion,没用VS里的的原因?VS自带的虚拟机开启Hyper-V后电脑里的其它虚拟机有些卡,所有关闭了,但是真机调试也总是报错。

发布到内网的另一台服务器配置网站,也不行,Constants类中无论配置HTTP还是HTTPS都一样。

网上随便找了个天气预报的HTTPS的API端口调试,发现可以正常使用,看来是SSL证书的问题,可是内网怎么玩?

骗!

我的解决方案:

域名(我的备案了,但是不备案应该一样能用,自行测试)
内网Web服务器(IIS)
freessl.cn申请SSL证书

 

非Windows服务应该可以一键配置,我用IIS所以不能从这里申请,需要先【创建账号】,进入【控制台】,然后右上角【一键登陆51SSL】

 

按图例四步走

 

提交后等待审核

 

 

看到已签发就是审核通过了,下载证书

 

我选的IIS

 

剩下就是去服务器导入证书,绑定域名HTTPS访问,Nginx的下载PEM格式的,然后按图配置

 

关键的一步,进路由器配置内网域名路由指向到Web服务器,修改本机DNS,当然也可以通过改本机的host文件

 

 

生效后用域名访问

 

 

然后就可以删掉那些内网配置了

 

AndroidManifest.xml文件中删除代码

android:networkSecurityConfig="@xml/network_security_config"

network_security_config.xml文件也就失效了

然后运行安卓项目,成功!

最后

可能我遇到了一个坑,走的是歪路,只是在实在搞不定的时候才出此下策,中间的配置过程有些可能也不是必须的,请自行测试!