公司最近的项目测试环境需要将http为一个https了,于是将自签名证书导入到iis服务(由于后端由NetCore WebApi编写),绑定网站SSL,然后前端使用本地代理切换请求地址之后就发现请求没法正常返回,前端调试没有任何返回响应,有的浏览器会返回:Error occured while trying to proxy to: localhost:8061/login,如图:

开始以为证书的问题,于是开始生成按指定IP生成,导入证书后还是上面的问题,于是使用postman测试:

 

根据上图中的提示信息,再postman的设置中将证书验证关闭后即可正常访问:

 

 

这么看也看不出来啥,联想到可能代理上出了什么问题,调试过程中后来发现控制台中报了这了一串错误,(UNABLE_TO_VERIFY_LEAF_SIGNATURE)。

由此想到是不是代理配置验证证书的问题,结合控制台输出的提示:

再根据网上查的资料,才查出这种错误可能是因为https证书无效导致的,webpack的devServer默认是不接受在 HTTPS 上运行且证书无效的后端服务器,如果需要,可以这样修改配置:

module.exports = {
  //...
  devServer: {
    proxy: {
      '/api': {
        target: 'https://other-server.example.com',
        secure: false,      //就是这个配置,能够接收无效证书的https
      },
    },
  },
};

 把代理中的secure: false原来是true改为false之后,本地就能正常访问https了。

Logo

前往低代码交流专区

更多推荐