【问题标题】:Angular outside service custom cert ERR_BAD_SSL_CLIENT_AUTH_CERTAngular 外部服务自定义证书 ERR_BAD_SSL_CLIENT_AUTH_CERT
【发布时间】:2021-06-26 10:25:32
【问题描述】:

我必须通过 Angular 11 使用自定义证书连接到外部服务。客户向我发送证书,我在邮递员中对其进行了测试(添加 .crt 和 .key 文件)并且所有请求都可以正常工作。 问题从 Angular 和 https 请求开始。我在控制台中收到错误响应:

POST https://XXXXX net::ERR_BAD_SSL_CLIENT_AUTH_CERT

在我的代码下方添加文件 .crt 和 .key 的内容时,我找不到答案。

export class RestConnectionService {

  constructor(private httpClient: HttpClient) {
  }

  public send(queryBody: InputAuthBody): Promise<any> {
    return this.httpClient.post(AppSettings.API_URL + 'XXX', queryBody).toPromise();
  }
}

【问题讨论】:

    标签: angular security certificate


    【解决方案1】:

    您可以为ng serve 使用sslssl-keyssl-cert 选项来做到这一点:

    例如在您的package.json 文件中:

    "serve:dev": "ng serve --ssl --ssl-cert ./certificates/localhost.certificate.crt  --ssl-key ./certificates/localhost.private.key"
    

    【讨论】:

    • ng serve --ssl --ssl-cert ./ssl/server.crt --ssl-key ./ssl/server.key 还是同样的问题;/
    • 没有证书是好的,在其他窗口中我打开了邮递员,邮递员对同一地址的所有请求都很好。在设置中,我为测试主机添加了 CRT 文件和 KEY 文件
    • 也许这篇文章会对你有所帮助,似乎是类似的问题:stackoverflow.com/questions/59352651/…
    【解决方案2】:

    我必须将服务器连接到服务器。带有反向代理的 nginx 解决了我的问题 nginx conf 代码部分添加证书:

     location /XXXX/XXXX {
            proxy_ssl_certificate        /etc/nginx/certs/XXX.crt;
            proxy_ssl_certificate_key    /etc/nginx/certs/XXX.key;
    
            proxy_pass   https://XXX:port/XXXXX/XXXX;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-06
      • 2010-12-06
      • 2019-12-12
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 2010-12-11
      相关资源
      最近更新 更多