【问题标题】:Angular Backend Error Over SSL Certificate (ERR_SSL_PROTOCOL_ERROR)SSL 证书上的 Angular 后端错误 (ERR_SSL_PROTOCOL_ERROR)
【发布时间】:2021-02-26 16:49:44
【问题描述】:

我有一个 Angular 8 应用程序在 http 上运行良好。

我刚刚安装了一个运行“certbot --apache”的letsencrypt 证书。证书有效,我现在可以看到我的域上的安全锁。

修复安装证书后出现的环境问题后,

apiUrl: 'https://app.xyz.com:8080'

我现在收到一个新错误 (net::ERR_SSL_PROTOCOL_ERROR),表明后端无法看到在前端运行的证书并且无法处理 https 连接。

如何将刚刚创建的证书“传递”到后端,以便两者都能正常通信? 或者,我是否需要在后端安装第二个 SSL 证书?

【问题讨论】:

    标签: angular ssl


    【解决方案1】:

    在我从 Stackoverflow 外部获得一些帮助后,我做对了。

    对于未来面临同样问题的任何人,这就是我所做的。 我在后端服务器 (Node.js) 上创建了另一个端口,如下所示:

    //Server
    const https = require("https");
    const express = require('express');
    const app = express();
    var app_https = express();
    var cors = require('cors');
    const fs = require("fs");
    
    app.use(express.json(), cors());
    app_https.use(express.json(), cors());
    
    const options = {
      key: fs.readFileSync('../src/assets/keys/privkey.pem'),
      cert: fs.readFileSync('../src/assets/keys/cert.pem')
    };
    app_https = https.createServer(options, app);
    
    //PORT ENVIRONMENT VARIABLE
    const port = process.env.PORT;
    
    app_https.listen(port, () => console.log(`Running on port localhost:${port}`));
    This was enough to access "https://www.xyzabcpqr.com:port/api/" and put it back 
    together.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 2013-07-08
      相关资源
      最近更新 更多