1.问题
今天遇到一个坑人的问题,我在一台新服务器上安装nginx,然后配置ssl安全证书,想要实现https访问网站,ssl证书的安装我早就烂熟于心了(nginx的部署以及ssl证书的安装我就不写了),部署好了之后,出现问题了:
- 在部署的服务器本地使用curl https://xxx.xyz可以直接成功
- 在其他地方使用curl https://xxx.xyz报错,不同系统的报错内容还不同,有如下两种:
- 在windows的命令提示符上:curl: (35) schannel: next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN (0x80090308) - 给函数提供的标志无效
- 在其他linux服务器上:curl: (35) SSL received a record that exceeded the maximum permissible length.
- 浏览器访问也不行,页面上提示:ERR_SSL_PROTOCOL_ERROR
2.解决过程
为了解决这个问题,我做了很多尝试
- 一开始我以为是ssl证书的问题,于是我重新申请了证书,也不行
- 然后又觉得是域名的问题,换了域名申请证书也不行
- 再然后我把证书放到我原来配置过https的机器上,结果可以!这就说明,可能是机器的问题
- 最终无意间看到一个博客关键词:IP过白,我就去找那个客服问
3.结果
最终,经过他的过白处理,https马上就能用了
如果你也遇到了我这种情况,且觉得自己部署没有问题的时候,不妨看看是不是机器本身的问题,希望可以为你解决问题提供一些思路。
关于什么是服务器过白,可以查看这一片博客:https://blog.csdn.net/DXYAQ_dsx0421/article/details/127565750