浏览器请求状态码为空,谷歌net::ERR_INSECURE_RESPONSE, 火狐Network error安全性错误无法载入此资源 ,IE网络错误0x800c0019访问此资源的安全证书无效问题

这几天刚入职老板让我解决的一个跨域问题,解决一半之后发生了这个证书问题,由于项目是内网开发,而且上级已经无法下发新的证书,特此记录一下这个问题。

环境:linux下的nginx,前端 和 后台java代码部署在docker里

流程:前端请求 -----> linux服务器 ----> nginx ----->后端java服务

现在的问题在于前端请求无法到达nginx,但是前端页面能正常展示,请求有错误,status状态码谷歌为failed,其他为空(什么都没有!),火狐会有提示安全性错误无法载入此资源,点开之后说明是使用了无效的安全证书,证书不被信任,证书对你那个网址无效,

上网查过大多都只是说是证书问题,解决方案大致都为:

        1.换能使用的安全的证书

        2.考虑是证书不在有效期,改机器时间

        3.修改前端代码使其允许跨域

        4.添加浏览器配置,使其忽略证书问题

我一个一个说;(这下面挺重要的,能看还是看一下)

第一种方式肯定是不行的,上级无法下发新的证书了,只能用现成这个有问题的证书,我试过自签证书,但请求照样会被拦截,pass


第二种方式我查看过证书时间,无关,pass


先说说第四种,显然是可以的,忽略证书错误就可以正常发送请求而不被拦截了,登录成功,但总不可能让客户也去改,pass但更改方式我记录一下 

1.谷歌浏览器:右击浏览器图标,在“目标”那一栏的末尾添加配置代码 (空一格)--ignore-certificate-errors

 2.火狐浏览器:这个我不太清楚,试过很多但是无效

 3.IE浏览器:右击右上角齿轮,选择"Internet选项",上方大栏选择安全,选择自定义级别,把允许数据源跨域那一项设置为允许(我的ie是英文的,我直接翻译过来就是这个,你们的好像是中文的,没关系,找一下,或者上网搜一下,都大同小异) 配置完后请求就不会被浏览器拦截了,亲测有效,但总不可能让客户去改


最后说说第三种  修改前端代码使其能够跨域,这个办法我再网上也查到了很多,但是我实在找不到在哪个地方才能实现跨域配置,就是说我不知道那串代码能配在哪,然后我通过自己的观察,发现了一个现象,首先这个是我在公司内网使用的火狐浏览器,请求比较直观,方便观察

注意域名那一行,请求为域名的全部走通了,请求为ip的全部未走通,你访问页面用的是域名,发请求却是用ip发的,我猜测,浏览如果证书不合规,会认为你这种请求不安全,从而发送请求会被拦截,所以我打算国庆四天假回来之后,找到前端配置的请求的脚本,修改为域名请求,估计就能通了,还没有实测,只是记录一下,成功后会跟进这个问题


 (ps:如果证书合规,ip请求说不定也能走通;如果证书不合规,访问域名和请求域名对应说不定也能走通,但如果你既不合规也不对应,可能就走不通了,这是我的推断)

一名小菜程序员的问题自我记录

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值