【问题标题】:Angular https call to self signed uri failing with "net::ERR_CERT_AUTHORITY_INVALID"对自签名 uri 的 Angular https 调用因“net::ERR_CERT_AUTHORITY_INVALID”而失败
【发布时间】:2019-05-07 14:24:37
【问题描述】:

我正在使用 Angular http 模块调用由自签名证书启用的 https 端点。

代码如下所示:

    export class AppComponent {
  constructor(private  http: HttpClient) {
 }
  title = 'my-app';
    ngOnInit(): void {
        this.http.get('https://internalapp.com/context/apps/all').subscribe((res: any[]) => {
    console.log('sharief');
    console.log(res);
    });
  }
}

当 Angular 应用程序在 chrome 浏览器中运行时,会导致错误“net::ERR_CERT_AUTHORITY_INVALID”。调用 this.http.get(...) 方法时会出现此错误。

Node 的 https 模块有一个如下所示的选项,它似乎可以工作(来自enter link description here

var req = https.request({ 
      host: '192.168.1.1', 
      port: 443,
      path: '/',
      method: 'GET',
      rejectUnauthorized: false,
      requestCert: true,
      agent: false
    },

问题:是否可以在 http.get 调用期间禁用证书验证?

【问题讨论】:

    标签: angular https self-signed


    【解决方案1】:

    不,这是浏览器的限制。

    你可以把后端的url放在你的浏览器中,告诉你的浏览器授权这个调用,它就会工作。

    【讨论】:

    • 感谢您的回复。我试图理解你在这里所说的。你的意思是说我必须在浏览器中打开另一个选项卡,复制后端 URL,覆盖生成的浏览器警告?
    • 请忽略我的后续问题。我找到了另一个链接stackoverflow.com/questions/51537394/…,它讨论了问题和建议的解决方案。对于敏感和生产环境可能不是一个好的解决方案。应使用有效(非自签名)证书。
    • 你的第一个问题是对的。如果您认为可以改写我的答案,请随意。我的英语不完美,我尽力回答你;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2019-03-16
    • 2018-03-03
    • 2019-04-17
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多