• 【解决问题记录】https网站中请求http资源接口报错与netERRSSLPROTOCOLERROR错误的解决


    在线上的CRM网站中,对接OBS做了一个专门的公共服务,公共服务使用的http协议,在页面中调用接口时出现错误:
    The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'.

    错误原因:
    HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block,在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。

    解决办法:
    页面的head中加入:
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    意思是自动将http的不安全请求升级为https
    也可以在配置的接口地址中, 把前面的HTTPS或者HTTP去掉, 就像这样://xxx.com.cn/xxx/xxx/UploadFileToOBS
    效果类似。

    但这样做了以后,像js资源等不会再出现问题,但请求接口依然会报错:
    浏览器中会输出net::ERR_SSL_PROTOCOL_ERROR错误net::ERR_CERT_COMMON_NAME_INVALID

    在网上查看资料后,解决此问题的办法就是,将接口使用https协议,并使用正确的SSL证书,可以通过nginx配置,将接口服务添加https绑定443端口,并选择证书后,问题解决!

  • 相关阅读:
    Beta-Scum meeting 2
    项目展示
    发布声明
    [敏杰开发]Beta Scrum Meeting 5
    [敏杰开发]Beta Scrum Meeting 4
    [敏杰开发]Beta Scrum Meeting 3
    [敏杰开发]Beta Scrum Meeting 2
    [敏杰开发]Beta Scrum Meeting 1
    [敏杰开发]团队免转会申请
    [知识路书]项目展示
  • 原文地址:https://www.cnblogs.com/adingfirstlove/p/14410669.html
Copyright © 2020-2023  润新知